一、读取文件
要使用文本文件中的信息,首先需要将信息读取到内存中。可以一次性读取文件的全部内容,也可以以每次一行的方式读取。
1.读取整个文件
with open('pi_digits.txt') as file_object:
contents=file_object.read()
print(contents)
(1)首先将所要读取的文件保存到程序所在目录中。
(2)一般情况下,使用open()后在不需要使用文件时关闭文件,这里用with,它将在不需要访问文件后自动关闭文件。
(3)使用read()方法,读取这个文件的全部内容。
(4)关于文件路径 ,要让Python打开不与程序文件位于同一个目录中的文件,需要提供文件路径,让Python到系统特定的路径去查找。在相对路径行不通时,可使用绝对路径。比如
file_path='/home/ehmatthes/other_files/text_files/filename.txt'
with open(file_path) as file_object:
2.逐行读取
file_name ='pi_digits.txt'
with open(file_name) as file_object:
for line in file_object:
print(line.rstrip())
要以每次一行的方式检查文件,可对文件对象使用for循环
3.创建一个包含文件各行内容的列表
file_name='pi_digits.txt'
with open(file_name) as file_object:
lines=file_object.readlines()
print(lines)
使用关键字with时,open()返回的文件对象只在with代码块内可用。如果要在with代码块外访问文件的内容,可在with代码块内将文件的各行存储在一个列表中,并在with代码块外使用该列表。
运行结果:
4.使用文件
读取文本文件时,Python将其中的所有文本都解读为字符串。如果你读取的是数字,并要将其作为字符使用,就必须要使用函数int ()将其转换成整数,或使用函数float()将其转换成浮点数。
二、写入文件
file_name='pi_digits.txt'
with open(file_name,'w')as file_object:
file_object.write("hello world!")
如果你要写入的文件不存在,函数open()将会自动创建它,然而,一旦写入(‘w’)模式打开文件时千万要小心,因为如果指定文件已存在,Python将在写入文件前清空该文件。
如果你要给文件添加内容,而不是覆盖原有内容,可以附加模式打开文件。你以附加模式打开文件时,Python不会在写入内容前清空文件内容,你写入的内容都会添加到文件末尾。如果指定文件不存在,Python将会为你创建一个新文件。
file_name='pi_digits.txt'
with open(file_name,'a') as file_object:
file_object.write("Bye-Bye")