1.读文件
假如我们想使用文本文件中的信息,首先需要将信息读取到内存中。我们可以一次性读取,也可以每次一行一行的读取。
1.1 read()
:一次性读取整个文件
例如:
with open('pi_digits.txt') as file_object:
contents = file_object.read()
print(contents)
f = open('pi_digits.txt')
print(f.read())
f.close()
3.1415926535
8979323846
2643383279
open()函数
返回一个文件对象,可迭代.
关闭文件的方式有两种:我们首选with
with
关键字,在不需要访问文件时将其关闭。- 另外也可以用
open()
,close()
组合,但若程序有错误,导致close()
未执行,那么文件不会关闭,这可能会导致数据的丢失或受损。
我们发现输出结果多了一个空行,我们只需要把输出语句里的改为contents.rstrip()
即可。
在读取文件时,我们可以提供文件的路径,这会使得我们可以访问任意位置的文件。路径有两种:相对路径,绝对路径。
相对路径是让python到指定位置去找,该位置是相对于当前运行程序所在的目录。
绝对路径是提供完整的路径。
注意路径里面用的是反斜杠:\
1.2 逐行读取
可以用for循环
with open('pi_digits.txt') as file_object:
for line in file_object:
print(line.rstrip())
readlines()
:读取文件中的每一行,并将其放在一个列表中。但读取大文件会比较占内存。
readline()
:从字面意思可以看出,该方法每次读出一行内容,所以,读取时占用内存小,比较适合大文件,该方法返回一个字符串对象。
with open('pi_digits.txt') as f