python文件操作
文件模式
r #只读模式,定位到文件开头,默认的
r+ #读写模式,定位到文件开头,可写入
w #读模式,打开时会清空文件内容,并且不能读
w+ #读写方式打开,定位到开头,打开文件时会清空内容
a #以写的方式打开,定位到文件末尾,是追加操作,不允许读
a+ #读写模式,定位到文件末尾并追加
相关操作方法
f = open(r'路径')
f.read() #返回文件所有内容,类型为字符串
f.write()
f.flush() #提交缓冲区的内容
f.seek(偏移量,0/-1) #移动文件指针
f.tell() #寻找指针位置
f.readline() #每次返回一行,参数为按字节显示
f.readlines() #以列表形式返回文件内容,包含换行符,去除换行符[i.rstrip() for i in f.readlines()]
f.close() #关闭文件
f.name() #打印文件名
f.next() #可迭代对象的下一个
f.mode #当前模式
操作示例
f = open(r'/mnt/file','r')
print f.read() #读取文件内容
hello !
I am 20 years old
I am a boy
f = open(r'/mnt/file','r+')
f.write('aaa') #写入内容
f.flush() #提交写入的内容,即写入硬盘
print f.tell() #显示当前指针位置
f.seek(0,0) #移动文件指针
print f.read()
aaalo !
I am 20 years old
I am a boy
f = open(r'/mnt/file','a+') #文件末尾追加
print f.read()
aaalo !
I am 20 years old
I am a boyaaa
f = open(r'/mnt/file','r')
print f.tell()
print f.readline() #一行一行读取,指针位置会移动到当前位置
print f.tell()
print f.readline()
print f.tell()
print f.readline()
f.seek(0,0)
print f.readlines() #以列表形式返回文件内容,包含换行符,去除换行符[i.rstrip() for i in f.readlines()]
f.close()
0
aaalo !
8
I am 20 years old
26
I am a boy
[‘aaalo !\n’, ‘I am 20 years old\n’, ‘I am a boy\n’, ‘\n’, ‘aaaaaaaaaaaa’]
f = open(r'/mnt/file','r')
print f.readlines()
print f.name #显示文件名
print f.mode #显示当前模式
f.close()
[‘aaalo !\n’, ‘I am 20 years old\n’, ‘I am a boy\n’, ‘\n’, ‘aaaaaaaaaaaa’]
/mnt/file
r
with open(r'/mnt/file','r') as f: #安全上下文,操作完成自动保存
print f.readlines()
print f.closed
[‘aaalo !\n’, ‘I am 20 years old\n’, ‘I am a boy\n’, ‘\n’, ‘aaaaaaaaaaaa’]
True