python中os.path和pathlib.Path对比使用

os.path和pathlib.Path对比使用

import os
import shutil
from pathlib import Path

"""
os.path 和 Path对比
"""
# os
wo_dirs_up = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
print(wo_dirs_up)

# Path  上两级目录
two_dirs_up = Path(__file__).resolve().parent.parent

print(Path(__file__))  # 当前文件目录

"""
路径或文件拼接
"""
# path = two_dirs_up.joinpath('db_cut', 'pro.txt')
# path = two_dirs_up.joinpath(Path('db_cut'), 'pro.txt')
path = two_dirs_up / 'csv'

print(path)
print("文件名", path.name)  # aa.txt
print("文件名无后缀", path.stem)  # aa
print("文件后缀", path.suffix)  # .txt

print("path resolve:", path.resolve())  # 目录规范化
print("parent:", path.parent)  # D:\Tool\test
# print("路径替换", path.replace(two_dirs_up / 'csv_replace'))
# print("路径或文件重命名", path.rename(two_dirs_up / 'csv'))
print("absolute", path.absolute())  # D:\Tool\test\csv
print("parts", path.parts)  # ('D:\\', Tool', 'test', 'csv')
print("文件是否存在", path.exists())  # True

# 创建目录或文件
path_one = two_dirs_up / 'csv-test' / 'csv.txt'
if not path_one.exists():
    path_one.mkdir(parents=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} 不存在或不是目录")

你可能感兴趣的:(python)