python中directory的用法
时间: 2025-02-01 17:04:23 浏览: 28
### Python 中的目录操作及相关方法
Python 提供了一系列用于文件系统路径操作的标准库模块 `os` 和 `pathlib`,这些工具使得创建、删除以及遍历目录变得简单而高效。
#### 使用 os 模块管理目录
通过导入 `os` 模块可以访问操作系统功能来执行诸如获取当前工作目录、改变默认位置等基本任务:
```python
import os
# 获取当前的工作目录
current_directory = os.getcwd()
print(f'Current Working Directory: {current_directory}')
# 改变当前工作目录到指定路径
new_path = '/home/user/documents'
os.chdir(new_path)
# 创建单层子目录;如果该目录已存在,则会抛出异常 FileExistsError
try:
os.mkdir('test_folder')
except FileExistsError as e:
print(e)
# 创建多级子目录结构(即使父目录不存在也会被自动创建)
nested_dirs = 'parent/child/grandchild'
os.makedirs(nested_dirs, exist_ok=True) # 设置exist_ok参数防止重复调用时报错
# 列举给定目录下的所有条目名称列表
entries_in_dir = os.listdir('.')
for entry in entries_in_dir:
print(entry)
# 删除空目录
os.rmdir('empty_folder')
# 移除整个目录树及其内部的所有内容
import shutil
shutil.rmtree('directory_to_remove', ignore_errors=False)
```
#### 使用 pathlib 库简化路径处理
从 Python 3.4 开始引入了更现代化的对象接口——`Path` 类型来自 `pathlib` 模块。这提供了更加直观的方法来进行复杂的文件系统导航和查询:
```python
from pathlib import Path
# 构造一个新的 Path 对象表示特定文件夹的位置
base_path = Path('/tmp/my_project/data')
# 测试某个路径是否存在并判断其性质
if base_path.exists():
if base_path.is_file():
print("It's a file.")
elif base_path.is_dir():
print("It's a directory.")
# 遍历目录中的每一个项目
for item in base_path.iterdir():
print(item.name)
# 查找符合条件的第一个匹配项
matching_files = list(base_path.glob('*.csv'))
first_match = next(iter(matching_files), None)
if first_match:
print(first_match)
# 复制源文件至目标位置
source = Path('/src/dir/file.txt')
destination = Path('/dst/dir/newname.txt')
source.replace(destination)
# 更改权限模式(仅限 Unix/Linux/MacOS)
target_file = Path('/some/path/to/a/file')
target_file.chmod(0o755)
```
上述代码片段展示了如何利用内置函数轻松完成常见的目录管理和维护活动[^1]。
阅读全文
相关推荐


















