python中的IO模块
1.简介
读写⽂件是常见的IO操作,python内置了读写⽂本的函数。
读写⽂件的模式描述如下:
模
描述
式
r以只读⽅式打开⽂件。⽂件的指针将会放在⽂件的开头。这是默认模式。
rb以⼆进制格式打开⼀个⽂件⽤于只读。⽂件指针将会放在⽂件的开头。这是默认模式。
r+打开⼀个⽂件⽤于读写。⽂件指针将会放在⽂件的开头。
rb+以⼆进制格式打开⼀个⽂件⽤于读写。⽂件指针将会放在⽂件的开头。
w打开⼀个⽂件只⽤于写⼊。如果该⽂件已存在则将其覆盖。如果该⽂件不存在,创建新⽂件。
wb以⼆进制格式打开⼀个⽂件只⽤于写⼊。如果该⽂件已存在则将其覆盖。如果该⽂件不存在,创建新⽂件。
w+打开⼀个⽂件⽤于读写。如果该⽂件已存在则将其覆盖。如果该⽂件不存在,创建新⽂件。
wb+以⼆进制格式打开⼀个⽂件⽤于读写。如果该⽂件已存在则将其覆盖。如果该⽂件不存在,创建新⽂件。
a打开⼀个⽂件⽤于追加。如果该⽂件已存在,⽂件指针将会放在⽂件的结尾。也就是说,新的内容将会被写⼊到已有内容之后。如果该⽂件不存在,创建新⽂件进⾏写⼊。
ab以⼆进制格式打开⼀个⽂件⽤于追加。如果该⽂件已存在,⽂件指针将会放在⽂件的结尾。也就是说,新的内容将会被写⼊到已有内容之后。如果该⽂件不存在,创建新⽂件进⾏写⼊。
a+打开⼀个⽂件⽤于读写。如果该⽂件已存在,⽂件指针将会放在⽂件的结尾。⽂件打开时会是追加模式。如果该⽂件不存在,创建新⽂件⽤于读写。
ab+以⼆进制格式打开⼀个⽂件⽤于追加。如果该⽂件已存在,⽂件指针将会放在⽂件的结尾。如果该⽂件不存在,创建新⽂件⽤于读写。
2.读取⽂件
⽂本信息如下:
2.1读取⽂件的基本信息
1# 只读⽅式打开⽂本⽂件
2 f = open('./', 'r')
3# 读取⽂件信息
4print"⽂件名: ", f.name
5print"是否已关闭 : ", f.closed
6print"访问模式 : ", f.mode
7print"末尾是否强制加空格 : ", f.softspace
8# 关闭⽂件
9 f.close()
2.2⼀次性读取
1# 只读⽅式打开⽂本⽂件
2 f = open('./', 'r')
3# ⼀次性读取全部内容,不安全
4print'⼀次性全部读取:\n', f.read()
5 f.close()
2.3多次读取
1# 只读⽅式打开⽂本⽂件
2 f = open('./', 'r')
3# ⽂件长度
4# print '⽂件长度:', ad())
5# 从⽂件的开头读取13个字节,超过⽂本长度则读取全部
6print'第⼀次读取:\n', f.read(13)
7# 继续读取4个字节
8print'第⼆次读取:\n', f.read(4)
9 f.close()
2.4按⾏读取
1# 只读⽅式打开⽂本⽂件
2 f = open('./', 'r')
3# 分⾏读取
4print'读取第⼀⾏:\n', f.readline().strip()
5print'读取第⼆⾏的4个字节:\n', f.readline(4)
6 f.close()
2.5file作为迭代器
1# 只读⽅式打开⽂本⽂件
2 f = open('./', 'r')
3for index in range(3):
4# file⾃⾝作为迭代器
5line = f.next()
6print line.strip()
2.6按⾏读取并存为list
1# 只读⽅式打开⽂本⽂件
2 f = open('./', 'r')
3# ⼀次性读取所有⾏并且返回list
4 fileList = f.readlines()
5# ['line one\n', 'line two\n', '\xe4\xb8\xad\xe6\x96\x87\xe6\xb5\x8b\xe8\xaf\x95'] 6print'List列表:\n', fileList
7for line in fileList:
8# #去掉每⾏头尾空⽩
9print line.strip()
10 f.close()
2.7读取⼆进制⽂件
1# 打开⼆进制⽂件,例如图⽚、视频
2 f = open('./readpicture.jpg', 'rb')
ad()
4 f.close()
3.写⼊⽂件
3.1写⼊⽂件的基本信息
1# 只写⽅式打开⽂件,写⼊⽂本
2 f = open('./', 'w')
3# 读取⽂件信息
4print"⽂件名: ", f.name
5print"是否已关闭 : ", f.closed
6print"访问模式 : ", f.mode
7print"末尾是否强制加空格 : ", f.softspace
8# 关闭⽂件
9 f.close()
3.2多种写⼊
1# 只写⽅式打开⽂件,写⼊⽂本
2 f = open('./', 'w')
3# 写⼊⽂本
4 f.write('line one')
5 f.close()writelines在python中的用法
6
7# 只写⽅式打开⽂件,以序列⽅式写⼊
8 f = open('./', 'w')
9 contentList = ['line one \n', 'line two \n', '中⽂测试 \n']
10# 写⼊序列
11 f.writelines(contentList)
12 f.close()
4.其他函数 ll() 、file.seek(offset,[],whence)
1# 以读写⽅式打开⽂件,以序列⽅式写⼊
2 f = open('./', 'w+')
3 contentList = ['line one \n', 'line two \n', '中⽂测试 \n']
4# 写⼊序列
5 f.writelines(contentList)
6# 指针位置:ll()
7print'写⼊后指针所在位置:', f.tell()
8# 指针偏移:file.seek(offset[, whence])
9# 前者为偏移量,后者为指针位置(默认0表⽰初始位置,1表⽰当前位置,2表⽰末尾位置) 10 f.seek(0)
11print'偏移后指针所在位置:', f.tell()
12print'数据:\n', f.read()
13 f.close()
5.使⽤with语句配合IO操作
1with open('/path/to/file', 'r') as f:
ad()
注:该种⽅式可以⾃动调⽤close()⽅法,避免出错!!!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论