从文件中读取数据
- 读取整个文件
实例
with open('pi_digits.txt') as file_object:
contents=file_object.read()
print(contents)
其中,pi_digits.txt 为同目录下的文本文件。
关键字with在不再需要访问文件后将其关闭。在这个程序中,注意到我们调用了open(),但 没有调用close();你也可以调用open()和close()来打开和关闭文件,但这样做时,如果程序存 在bug,导致close()语句未执行,文件将不会关闭。
open()函数接受一个参数,即要打开的文件名,返回一个表示文件的对象。
read()函数读取文件中的全部内容。注意:read()到达最后返回一个空字符串,将该空字符串打印出来就是空行。若要删除最后一个空行,可以使用rstrip()
- 逐行读取
with open('pi_digits.txt') as file_object:
for line in file_object:
print(line)
每行结尾有一个看不见的换行符,print函数也会有一个换行符,因此,输出后每行之间会有一行空格,可以用
line.rstrip()
来消除每行最后的换行符
- 创建包含文件各行的列表
with open('pi_digits.txt') as file_object:
lines=file_object.readlines()
for line in lines:
print(line)
- 将文件内容保存为字符串使用
主要思想就是将每一行拼接在一起
string=''
with open('pi_digits.txt') as file_object:
lines=file_object.readlines()
for line in lines:
string+=line.rstrip()
print(string)
写入文件
file_name='write.txt'
with open(file_name,'w') as file_object:
file_object.write('I love programming.')
此处‘w’,即写,主义是清空原本内容后写,此外还有r:读 ,a:附加,若省略打开模式,默认是以读取模式打开。
根据文件名查找文件,如果不存在该文件,则新建一个文件。
写入多行内容时,记得行尾添加 ‘\n’,实现换行。