Python 文件操作: shutil 和 os 模块详解 在 Python 编程中,对文件的操作是非常常见的一个操作,比如读写文件、复制文件等等。在这种情况下,Python 的 shutil 和 os 模块就会显得非常的重要。 shutil 模块是 Python 中的一个高级文件操作模块,可以实现复制、移动、删除、压缩、解压缩等文件操作。os 模块则是 Python 中的标准库,主要用于操作系统相关的操作,比如文件目录的创建、删除、修改等操作。 在本篇文章中,我们将重点介绍 shutil 和 os 模块的各种用法和技巧,以便更好地理解文件操作的工作原理。 1. 复制文件 在 Python 中,要复制一个文件,我们可以使用 shutil 模块提供的 copy() 函数。下面是一个简单的例子: ```python import shutil shutil.copy('file1.txt', 'file2.txt') ``` 在这个例子中,我们将文件 file1.txt 复制到了一个新的文件 file2.txt 中。如果你想要更改复制后文件的名字,只需要将第二个参数修改即可。另外,如果你想要复制文件时保留文件的元数据信息,可以使用 copy2() 函数,它将包含原始文件的元数据信息。 2. 移动文件 在 Python 中,要移动一个文件,我们可以使用 shutil 模块提供的 move() 函数。下面是一个简单的例子: ```python import shutil shutil.move('file1.txt', 'new_folder') ``` 在这个例子中,我们将文件 file1.txt 移动到了一个名为 new_folder 的文件夹中。 3. 删除文件 在 Python 中,要删除一个文件,我们可以使用 os 模块提供的 remove() 函数。下面是一个简单的例子: ```python import os os.remove('file1.txt') ``` 在这个例子中,我们删除了名为 file1.txt 的文件。如果你确定文件存在,但是想要避免因为文件不存在而导致的错误,你可以使用 path 模块中的 exists() 函数来检查文件是否存在。 4. 创建目录 在 Python 中,要创建一个目录,我们可以使用 os 模块提供的 mkdir() 函数。下面是一个简单的例子: ```python import os os.mkdir('new_folder') ``` 在这个例子中,我们创建了一个名为 new_folder 的新文件夹。 5. 删除目录 在 Python 中,要删除一个目录,我们可以使用 os 模块提供的 rmdir() 函数。需要注意的是,这个函数只能删除空目录,如果你想要删除非空目录,可以使用 shutil 模块提供的 rmtree() 函数。下面是一个简单的例子: ```python import shutil shutil.rmtree('new_folder') ``` 在这个例子中,我们删除了一个名为 new_folder 的文件夹,它包含了一些文件和子目录。 6. 修改文件权限 在 Python 中,我们可以使用 os 模块提供的 chmod() 函数来修改文件的权限。下面是一个简单的例子: ```python import os os.chmod('file1.txt', 0o777) ``` 在这个例子中,我们将文件 file1.txt 的权限修改为 777。 7. 获取文件信息 在 Python 中,我们可以使用 os 模块提供的 stat() 函数来获取文件的信息,比如文件的权限、大小、修改时间等等。下面是一个简单的例子: ```python import os stat_info = os.stat('file1.txt') print(stat_info.st_size) # 文件大小 print(stat_info.st_mtime) # 文件修改时间 ``` 在这个例子中,我们使用 stat() 函数获取了名为 file1.txt 的文件的信息,并输出了文件的大小和修改时间。 结论 在本篇文章中,我们介绍了 Python 中的 shutil 和 os 模块的各种用法和技巧。通过熟悉这些基本操作,你可以更好地操作文件,并在你的 Python 项目中充分利用这些模块提供的功能。