与其他语言一样,Python提供了一些内置函数来读取,写入或访问文件。Python主要可以处理两种类型的文件。普通文本文件和二进制文件。
对于文本文件,每行以特殊字符'\ n'终止(称为EOL或行尾)。对于二进制文件,没有行结束符。将内容转换为比特流后,它将保存数据。
在本节中,我们将讨论文本文件。
序号 | 模式与说明 |
---|---|
1 | [R 这是只读模式。它打开文本文件以供阅读。如果文件不存在,则会引发I / O错误。 |
2 | r + 此模式用于读写。当文件不存在时,将引发I / O错误。 |
3 | w 它仅用于写作业。如果文件不存在,它将首先创建一个文件,然后开始写入;如果文件不存在,它将删除该文件的内容,并从头开始写入。 |
4 | w + 这是写和读模式。当文件不存在时,它可以创建文件,或者当文件存在时,数据将被覆盖。 |
5 | 一种 这是附加模式。因此它将数据写入文件的末尾。 |
6 | 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