一.文件读写
IO在计算机中指input/output,也就是输入输出。读写文件是最常见的IO操作。
1.1 读UTF-8编码的文本文件
分为三步:
第一步:以读文件模式打开一个文件对象,使用Python内置的 open() 函数,传入文件名和标识符
第二步:如果文件打开成功,调用 read() 方法一次性读取文件的全部内容,Python把内容读到内存,用一个str对象表示 :
第三步:调用 close() 方法关闭文件。文件使用完毕后必须关闭,因为文件对象会占用操作系统资源,并且操作系统同一时间能打开的文件数量也是有限的。
>>> f = open('C:\\Users\\yyong\\Desktop\\test.txt','r')#标识符'r'表示读
>>> f.read()
'This is a test file!'
>>> f.close()
至此读文件完成,但是文件读写有可能产生IOError,一旦出错,后面的f.close()就不会调用。所以,为了保证无论是否出错都能正确地关闭文件,我们可以使用try...finally来实现(见下方法一);也可以使用 with 语句来读文件(见下方法二):
#方法一:读文件
try:
f = open('C:\\Users\\yyong\\Desktop\\test.txt','r')
print(f.read())
finally:
if f:
f.close()
#方法二:读文件
with open('C:\\Users\\yyong\\Desktop\\test.txt','r') as f:
print(f.read())
#注:方法一、方法二效果一样,但是方法二更佳,不必调用f.close()方法
read()、read(size)、readline()、readlines()区别:
read():一次性读取文件的全部内容;read(size):反复调用,每次最多读取size个字节内容;readline():每次读取一行内容;readlines():一次读取所有内容并按行分割(这里每行成为列表元素)返回list;
如果文件很小,read()一次性读取最方便;如果不能确定文件大小,反复调用read(size)比较保险;如果是配置文件,调用readlines()最方便。
1.2 读非UTF-8编码的文本文件
>>> f = open('C