os.path和pathlib.Path对比使用
import os
import shutil
from pathlib import Path
"""
os.path 和 Path对比
"""
wo_dirs_up = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
print(wo_dirs_up)
two_dirs_up = Path(__file__).resolve().parent.parent
print(Path(__file__))
"""
路径或文件拼接
"""
path = two_dirs_up / 'csv'
print(path)
print("文件名", path.name)
print("文件名无后缀", path.stem)
print("文件后缀", path.suffix)
print("path resolve:", path.resolve())
print("parent:", path.parent)
print("absolute", path.absolute())
print("parts", path.parts)
print("文件是否存在", path.exists())
```py
files = os.listdir(data_dir)
files = list(data_dir.glob('*'))
print(files)
创建目录或文件
path_one = two_dirs_up / 'csv-test' / 'csv.txt'
if not path_one.exists():
path_one.mkdir(parents=True, exist_ok=True)
else:
print("存在")
删除文件和目录 使用 unlink()、rmdir() 和 rmtree() 方法删除文件和目录。对于删除文件,我们首先检查该文件是否存在,
unlink() 方法删除它;对于删除目录,我们使用 exists() 方法确认路径是否存在,并使用 is_dir() 方法判断它是否为目录类型。
删除文件
file_path = Path('/path/to/file.txt')
if file_path.exists():
file_path.unlink()
print(f"文件 {file_path} 已删除")
else:
print(f"文件 {file_path} 不存在")
dir_path1 = Path('/path/to/empty_dir')
if dir_path1.exists() and dir_path1.is_dir():
dir_path1.rmdir()
print(f"目录 {dir_path1} 已删除")
else:
print(f"目录 {dir_path1} 不存在或不是空目录")
dir_path2 = Path('/path/to/non_empty_dir')
if dir_path2.exists() and dir_path2.is_dir():
shutil.rmtree(dir_path2)
print(f"目录 {dir_path2} 及其子目录已删除")
else:
print(f"目录 {dir_path2} 不存在或不是目录")