欢迎访问宙启技术站
智能推送

10个用Python编写的文件操作函数

发布时间:2023-06-18 21:38:55

在 Python 中,文件操作是基础中的基础,几乎每一个开发者都会经常用到。如何优雅地编写 Python 文件操作函数是我们所追求的目标,这里我就分享一下我在文件操作方面的一些心得。

1. 打开文件

Python 使用 open() 函数来打开文件,这个函数的常用参数有文件名(包含路径)、文件模式(读、写、追加)等。一般情况下,我们最常使用的文件模式有以下三种:

# 只读模式
file = open("file.txt", "r")

# 写入模式
file = open("file.txt", "w")

# 追加模式
file = open("file.txt", "a")

在使用完文件后,别忘了使用 file.close() 函数来关闭文件流,释放文件所占用的资源。

file.close()

2. 读取文件

在 Python 中,我们可以使用 read() 函数来读取文件中的内容。read() 函数会返回一个字符串,其中包含了文件中所有的数据。

file = open("file.txt", "r")
content = file.read()
file.close()

另外,还有一个常用的函数是 readlines(),它会返回一个包含文件中所有行的列表。

file = open("file.txt", "r")
lines = file.readlines()
file.close()

3. 写入文件

在 Python 中,我们使用 write() 函数向文件中写入内容。如果文件不存在,则会自动创建文件。

file = open("file.txt", "w")
file.write("hello world")
file.close()

如果你想写入一些多行文本,可以使用 writelines() 函数来完成:

file = open("file.txt", "w")
lines = ["line1", "line2", "line3"]
file.writelines(lines)
file.close()

4. 追加文件

如果你需要向文件中追加内容,可以使用追加模式来打开文件,然后再使用 write() 函数向文件中写入内容。

file = open("file.txt", "a")
file.write("hello world")
file.close()

5. 创建目录

在 Python 中,使用 os 模块可以创建目录。

import os

if not os.path.exists("dir"):
    os.mkdir("dir")

如果你需要递归地创建多层目录,可以使用 os.makedirs() 函数:

import os

if not os.path.exists("dir1/dir2/dir3"):
    os.makedirs("dir1/dir2/dir3")

6. 删除文件

使用 os.remove() 函数可删除单个文件。这个函数只接受一个参数,代表需要删除的文件路径。

import os

os.remove("file.txt")

如果你需要删除一个目录及其子目录和文件,可以使用 shutil 模块的 rmtree() 函数。

import shutil

shutil.rmtree("dir")

7. 文件重命名

重命名文件也是文件操作的一个重要操作,Python 可以通过 os.rename() 函数来重命名文件。

import os

os.rename("file.txt", "newfile.txt")

如果你想移动文件到一个新的目录下并重命名它,可以使用 shutil 模块的 move() 函数。

import shutil

shutil.move("file.txt", "dir/newfile.txt")

8. 列出目录下的所有文件

使用 os.listdir() 函数可以列出指定目录下的所有文件和子目录。

import os

files = os.listdir("dir")
print(files)

如果你需要只列出目录下的文件或只列出目录名,则可以使用以下代码:

# 列出目录下的文件
files = [f for f in os.listdir("dir") if os.path.isfile(os.path.join("dir", f))]

# 列出目录名
dirs = [d for d in os.listdir(".") if os.path.isdir(os.path.join(".", d))]

9. 判断文件或目录是否存在

在 Python 中,我们可以使用 os.path.exists() 函数来判断文件或目录是否存在。

import os

if os.path.exists("file.txt"):
    print("file exists")
else:
    print("file not exists")

10. 修改文件访问/修改时间

在 Python 中,我们使用 os.utime() 函数来修改文件的访问/修改时间。该函数接受两个参数,第一个参数是文件路径,第二个参数是一个元组,分别代表访问时间和修改时间。

import os
import time

atime = time.time() - 3600 # 设置为一小时前
mtime = time.time() - 7200 # 设置为两小时前

os.utime("file.txt", (atime, mtime))

以上是我分享的10个用 Python 编写的文件操作函数,希望对大家有所帮助。