Python对文件的操作

时间:2020-12-01 09:55:49


文件操作的步骤:

打开文件 -> 操作文件 -> 关闭文件

打开文件

文件句柄 = 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