在Python中读取和写入文本文件
与其他语言一样,Python提供了一些内置函数来读取,写入或访问文件。Python主要可以处理两种类型的文件。普通文本文件和二进制文件。
对于文本文件,每行以特殊字符'\n'终止(称为EOL或行尾)。对于二进制文件,没有行结束符。将内容转换为比特流后,它将保存数据。
在本节中,我们将讨论文本文件。
文件访问方式
[R
这是只读模式。它打开文本文件以供阅读。如果文件不存在,则会引发I/O错误。
r+
此模式用于读写。当文件不存在时,将引发I/O错误。
w
它仅用于写作业。如果文件不存在,它将首先创建一个文件,然后开始写入;如果文件不存在,它将删除该文件的内容,并从头开始写入。
w+
这是写和读模式。当文件不存在时,它可以创建文件,或者当文件存在时,数据将被覆盖。
一种
这是附加模式。因此它将数据写入文件的末尾。
a+
追加和读取模式。它可以附加数据也可以读取数据。
现在查看如何使用writelines()
和write()
方法写入文件。
范例程式码
#Create an empty file and write some lines line1 = 'This is first line. \n' lines = ['This is another line to store into file.\n', 'The Third Line for the file.\n', 'Another line... !@#$%^&*()_+.\n', 'End Line'] #open the file as write mode my_file = open('file_read_write.txt', 'w') my_file.write(line1) my_file.writelines(lines) #Write multiple lines my_file.close() print('Writing Complete')
输出结果
Writing Complete
编写完这些行之后,我们将一些行添加到文件中。
范例程式码
#program to append some lines line1 = '\n\nThis is a new line. This line will be appended. \n' #open the file as append mode my_file = open('file_read_write.txt', 'a') my_file.write(line1) my_file.close() print('Appending Done')
输出结果
Appending Done
最后,我们将看到如何从read()
andreadline()
方法读取文件内容。我们可以提供一些整数“n”来获取第一个“n”个字符。
范例程式码
#program to read from file #open the file as read mode my_file = open('file_read_write.txt', 'r') print('Show the full content:') print(my_file.read()) #Show first two lines my_file.seek(0) print('First two lines:') print(my_file.readline(), end = '') print(my_file.readline(), end = '') #Show upto 25 characters my_file.seek(0) print('\n\nFirst 25 characters:') print(my_file.read(25), end = '') my_file.close()
输出结果
Show the full content: This is first line. This is another line to store into file. The Third Line for the file. Another line... !@#$%^&*()_+. End Line This is a new line. This line will be appended. First two lines: This is first line. This is another line to store into file. First 25 characters: This is first line. This