打开模式
r 只读。如果文件不存在,则输出错误。
w 只写(如果文件不存在,则自动创建文件)。
a 附加到文件末尾
rb 只读二进制文件,如果文件不存在,则输出错误。
wb 只写二进制文件,如果文件不存在,则自动创建文件。
ab 附加到二进制文件末尾。
r+ 读写
------------------读文件---------------------------------------
read( ) 返回值为包含整个文件内容的一个字符串。
readline( ) 返回值为文件下一行内容的字符串。
readlines( ) 返回值为整个文件内容的列表,每项是以换行符为结尾的一行字符串。
----------------写文件-------------------------------------------
write( ) 把含有文本数据或二进制数据块的字符串写入文件中。
writelines( ) 针对列表操作,接受一个字符串列表作为参数,将他们写入文件,并且行结束符不会被自动加入。
test.txt内容如下:注意:five末尾有换行符
one
two
three
four
five
测试代码如下:
infile = open("test.txt", "r")
for i in range(2):
line = infile.readline()
print(line[:-1])
print("------------------------")
file = open("test.txt", "r")
for line in file.readlines():
print(line[:-1])
file.close()
# 上面代码也可以写成如下的形式,file.readlines( )方法的缺点是,当读入文件比较大时,一次性读取文件内容到列表中会占用很多内存,不如用如下简化的方法解决此问题,Python将文件本身作为一个行的序列,所以遍历文件的所有行也可以写成如下"for line in file:"的形式
file = open("test.txt", "r")
for line in file:
print(line[:-1])
file.close()
结果如下:
Connected to pydev debugger (build 143.1559)
one
two
------------------------
one
two
three
four
five
one
two
three
four
five
Process finished with exit code 0