匠心精神 - 良心品质腾讯认可的专业机构-IT人的高薪实战学院

咨询电话:4000806560

Python 文件操作: shutil 和 os 模块详解

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 项目中充分利用这些模块提供的功能。