文件操作的步骤:
打开文件 -> 操作文件 -> 关闭文件
打开文件
文件句柄 = open('文件路径', '模式')
f = open('/etc/passwd','r')
with open('文件路径','模式') as 文件句柄: #不需要关闭文件。默认关闭
with open('/etc/passwd')as f:
打开文件的模式有:
r,只读模式(默认)。
w,只写模式。【不可读;不存在则创建;存在则删除内容;】
a,追加模式。【可读; 不存在则创建;存在则只追加内容;】
r+,可读写文件。【可读;可写;可追加】
w+,写读
"b"表示处理二进制文件(如:FTP发送上传ISO镜像文件,linux可忽略,windows处理二进制文件时需标注)
R+b
W+b
A+b
操作文件:
>>> f = open('passwd')
>>> f.close() #关闭文件
>>> f.closed #判断文件是否打开 打开为True。关闭为False
True
>>> f = open('passwd')
>>> f.closed
False
>>> f.flush() #刷新缓冲区,将缓冲区中的数据立刻写入文件
>>> f.mode #模式
'r'
>>> f.name #名字
'passwd'
>>> f.read() #以字符串的形式读取文件所有
'root:x:0:0:root:/root:/bin/bash\nbin:x:1:1:bin:/bin:/sbin/nologin\ndaemon:x:2:2:daemon:/sbin:/sbin/nologin\nadm:x:3:4:adm:/var/adm:/sbin/nologin\nlp:x:4:7:lp:/var/spool/lpd:/sbin/nologin\nsync:x:5:0:sync:/sbin:/bin/sync\nshutdown:x:6:0:shutdown:/sbin:/sbin/shutdown\nhalt:x:7:0:halt:/sbin:/sbin/halt\nmail:x:8:12:mail:/var/spool/mail:/sbin/nologin\n'
>>> f.readline() #以字符串形式读一行
'root:x:0:0:root:/root:/bin/bash\n'
>>> f.readlines() #以列表的形式读全部
['bin:x:1:1:bin:/bin:/sbin/nologin\n', 'daemon:x:2:2:daemon:/sbin:/sbin/nologin\n', 'adm: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']
>>> f.seek(20) #寻找
>>> f.tell() #查看位置
20
>>> f.write('\naaaaaaaaaaaaaaaaa') #写入文件
['root:x:0:0:root:/root:/bin/bash\n', 'bin:x:1:1:bin:/bin:/sbin/nologin\n', 'daemon:x:2:2:daemon:/sbin:/sbin/nologin\n', 'adm: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',
'\n', 'aaaaaaaaaaaaaaaaa']
本文出自 “Dream chaser” 博客,请务必保留此出处http://dreamchaser.blog.51cto.com/7756851/1961442