文件处理是许多应用程序的核心。例如,您可能需要从文本文件中读取数据,对数据进行分析和处理,然后将结果写回到另一个文件中。Python提供了许多内置函数和库,可用于读取和写入文件,以及对文件进行操作。
Python的文件处理库包括内置函数和第三方库,如os、shutil、glob、csv和pickle等。这些库提供了许多函数和方法,可用于创建、读取、写入和操作文件和文件夹。这些库中的每一个都有其独特的优点和用途。
在Python中,您可以使用open()函数打开一个文件。该函数接受两个参数:文件名和模式。模式可以是
- 读取模式(
r
) - 写入模式(
w
) - 追加模式(
a
)
一旦打开了文件,您就可以使用各种函数和方法读取和写入数据。
读取文件
假设我们有以下文件,与 Python 位于同一文件夹中:
Hello! Welcome to demofile.txt
This file is for testing purposes.
Good Luck!
要打开文件,请使用内置open()函数。
该open()函数返回一个文件对象,它有一个 read()读取文件内容的方法:
f = open("demofile.txt", "r")
print(f.read())
如果文件位于不同的位置,则必须指定文件路径,如下所示:
f = open("/home/welcome.txt", "r")
print(f.read())
默认情况下,该read()方法返回整个文本,但您也可以指定要返回的字符数:
f = open("demofile.txt", "r")
print(f.read(5))
还可以可以使用以下方法返回一行readline():
f = open("demofile.txt", "r")
print(f.readline())
完成文件后始终关闭文件是一个好习惯。
关闭文件
完成后关闭文件:
f = open("demofile.txt", "r")
print(f.readline())
f.close()
文件写入
要写入现有文件,您必须向函数添加一个参数open():
a
:追加 - 将追加到文件末尾w
:写入 - 将覆盖任何现有内容
打开文件demofile2.txt
并将内容附加到文件中:
f = open("demofile2.txt", "a")
f.write("Now the file has more content!")
f.close()
#open and read the file after the appending:
f = open("demofile2.txt", "r")
print(f.read())
删除文件
要删除一个文件,你必须导入 OS 模块,并运行它的 os.remove()函数:
import os
os.remove("demofile.txt")
检查文件是否存在
为避免出现错误,可能需要在尝试删除文件之前检查该文件是否存在:
import os
if os.path.exists("demofile.txt"):
os.remove("demofile.txt")
else:
print("The file does not exist")
删除文件夹
要删除整个文件夹,请使用以下os.rmdir()方法:
import os
os.rmdir("myfolder")
Python还提供了一些非常方便的库,如csv和pickle,可用于处理各种不同格式的文件。例如,csv库可用于读取和写入CSV文件,pickle库可用于序列化和反序列化Python对象。