Python 3 – 文件I/O
Python 3 是一种非常流行的编程语言,拥有广泛的应用场景,如Web开发、数据分析、人工智能等。在Python编程中,文件I/O(I/O即输入/输出)是一个非常基础且重要的话题。
Python中的文件I/O指的是读取和写入文件。Python中有多种文件类型可以操作,例如文本文件、二进制文件、CSV文件(Comma Separated Values)以及JSON文件(JavaScript Object Notation)。Python也提供了许多处理这些文件类型的句柄函数和库。
打开文件
在Python中打开文件使用内置的 open()
函数。可以通过文件名(包括路径)来指示要打开的文件。在执行此操作时,需要指定要执行的操作类型,例如读取(r)、写入(w)和附加(a)。
以下是一个读取一个文本文件的示例:
file = open('test.txt', 'r')
在这个例子中,我们打开了一个名为 test.txt
的文件,以读取模式打开该文件。
以下是打开一个 CSV 文件的示例:
import csv
with open('data.csv', 'r') as file:
reader = csv.reader(file)
for row in reader:
print(row)
在这个例子中,我们打开了一个名为 data.csv
的文件,并通过 csv
模块的 csv.reader()
函数读入文件。然后,我们可以循环读入的行,以进行进一步的处理。
读取文件
一旦打开了文件,就可以使用 read()
、readline()
和 readlines()
来读取文件中的内容。
以下是使用 read()
函数来读取文本文件的示例:
file = open('test.txt', 'r')
content = file.read()
print(content)
file.close()
在这个例子中,我们使用 read()
函数读取了文件中的所有内容,并将其存储在 content
变量中。请注意,一旦读取完毕,必须关闭文件。
以下是使用 readline()
函数逐行读取文本文件的示例:
file = open('test.txt', 'r')
line = file.readline()
while line:
print(line)
line = file.readline()
file.close()
在这个例子中,我们使用 readline()
函数逐行读取文件中的内容。我们使用 while
循环来循环读取文件中的每行。最后,必须关闭文件。
以下是使用 readlines()
函数将文本文件内容读入列表的示例:
file = open('test.txt', 'r')
lines = file.readlines()
for line in lines:
print(line)
file.close()
在这个例子中,我们使用 readlines()
函数读取了文件中的所有行,并将其存储在 lines
变量中。然后,我们可以使用 for
循环来迭代这个列表。
写入文件
要将数据写入文件,需要打开文件以进行写入操作。使用 w
参数可以确保打开的文件是写入模式。
以下是写入文本文件的示例:
file = open('test.txt', 'w')
file.write('Hello World')
file.close()
在这个例子中,我们打开了一个名为 test.txt
的文件,以写入模式打开该文件,并向文件中写入了一条消息。
以下是使用 wirterow()
函数将内容写入 CSV 文件的示例:
import csv
with open('data.csv', 'w', newline='') as file:
writer = csv.writer(file, delimiter=',')
writer.writerow(['Name', 'Age', 'Country'])
writer.writerow(['Sam', '25', 'USA'])
writer.writerow(['Mike', '30', 'UK'])
在这个例子中,我们使用 csv.writer()
函数并将其附加到文件句柄对象。然后,我们调用 writerow()
函数将每行写入 CSV 文件中。
关闭文件
当使用完文件时,应该始终关闭文件,以释放在打开文件时分配的资源。要关闭文件,必须使用 close()
函数。
以下是关闭文件的示例:
file = open('test.txt', 'r')
content = file.read()
print(content)
file.close()
在这个例子中,我们打开了一个名为 test.txt
的文件,并使用 close()
函数关闭该文件。请注意,尝试关闭已经关闭的文件对象将引发错误。
结论
Python是一个非常强大的编程语言,可以轻松地打开、读取和写入文件。我们可以使用内置的 open()
函数打开文件,并使用 read()
、readline()
和 readlines()
函数来读取文件中的内容。我们也可以使用 write()
函数向文件中写入内容,并可以使用 csv
模块来读取和写入CSV文件。
为了避免资源泄漏,在使用完文件后,必须关闭文件。我们可以使用 close()
函数来关闭文件。