在Python中读取和写入文本文件

与其他语言一样,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