1.打开和关闭文件(open(),file(),close())
有两种内建函数可以获取文件对象:open和file。他们的用法完全一样。下面只以open()为例子讲解。获取一个文件对象(打开文件)的语法如下:
代码如下:fileObj = open(filename,access_mode='r',buffering=-1)
filename不用说你也应该知道是你要打开文件的路径。
access_mode用来标识文件打开的模式,默认为r(只读)。
常用的模式如下表所示:
文件模式 | 解释 |
r | 以只读方式打开 |
w | 以写方式打开,文件不为空时清空文件;文件不存在时新建文件。 |
a | 追加模式,没有则创建 |
r+,w+,a+ | 以读写模式打开,参见w,a |
第三个参数不经常用到,标识访问文件的缓冲方式,0代表不缓冲,1代表缓
冲一行,-1代表使用系统默认缓冲方式。只要使用系统默认就好。
一些例子:
代码如下:
>>> f = open('/etc/passwd','r')
>>> f1 = open('/etc/test','w')
使用完文件后,一定要记得关闭文件,操作如下:
代码如下:
>>> f.close()
2.文件读入
2.1.file.read(size = -1)
读取从当前文件游标起size个字节的文件内容。如果size=-1,则读取所有剩余字节。
代码如下:
>>> f = open('/etc/passwd')
>>> f.read(100)
'root:x:0:0:root:/root:/bin/bash/nbin:x:1:1:bin:/bin:/sbin/nologin/ndaemon:x:2:2:daemon:/sbin:/sbin/nol'
2.2.file.readlines(size=-1)
从文件中读取并返回一行(包括行结束符),或返回最大size个字符
代码如下:
>>> f.readline()
'ogin/n'#和上面一个例子输出的最后拼起来就是 'nologin',因为游标在l后面。
>>> f.readline(1)
'a'
2.3.file.readlines(sizhint=0)
读取文件所有的行,并作为一个列表返回(包括行结束符),如果sizhint>0则返回总和大约sizhint字节的行(具体由缓冲区大小决定)。
代码如下:
f.readlines()
['dm:x:3:4:adm:/var/adm:/sbin/nologin/n', 'lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin/n', 'sync:x:5:0:sync:/sbin:/bin/sync/n', 'shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown/n', 'halt:x:7:0:halt:/sbin:/sbin/halt/n', 'mail:x:8:12:mail:/var/spool/mail:/sbin/nologin/n', ......
输出省略。
3.文件输出
3.1.file.write(str)
新闻热点
疑难解答