日期:2025/04/03 21:36来源:未知 人气:53
Pathlib 是一个用于处理文件路径的 Python 库,提供了许多实用的函数和方法来处理文件系统路径。它提供了一个面向对象的层次结构,路径被表示为对象,这些对象拥有一些属性和方法,使得文件路径的操作变得更加直观和方便。
from pathlib import Path
print(Path.cwd()) # 返回当前目录 print(Path.home()) # 输出用户家目录
运行结果: C:\Users\caiya\Desktop\work\demo C:\Users\caiya
from pathlib import Path
filename = r"C:\Users\caiya\Desktop\work\demo\temp\123.txt" res = Path(filename)
print(res.parent) # 返回上级目录 print(res.parents) # 返回上级目录列表(可进行迭代)
运行结果: C:\Users\caiya\Desktop\work\demo
from pathlib import Path
filename = r"C:\Users\caiya\Desktop\work\demo\temp\123.txt" res = Path(filename)
print(res.name) # 获取文件名 print(res.stem) # 获取文件名前缀 print(res.suffix) # 获取文件名后缀
运行结果: 123.txt 123 .txt
from pathlib import Path
name = r"demo.txt" res = Path(name)
if res.exists(): print("存在") else: print("不存在")
from pathlib import Path
name = r"demo.txt" res = Path(name)
ifnot res.exists(): withopen(name, "w") as f: f.write("Hello World") print("文件不存在,已创建成功")
from pathlib import Path
name = r"test" res = Path(name)
ifnot res.exists(): res.mkdir() print("目录不存在,已经创建完成")
from pathlib import Path
name = r"111\222\333" res = Path(name)
ifnot res.exists(): res.mkdir(parents=True) print("目录不存在,已经创建完成")
from pathlib import Path import time
filename = r"demo.txt" res = Path(filename)
defformat_time(s): local_time = time.localtime(s) format_time = "%Y-%m-%d %H:%M:%S" now_time = time.strftime(format_time, local_time) return now_time
t = res.stat() print(f"文件大小:{t.st_size}") print(f"文件创建时间:{format_time(t.st_ctime)}") print(f"文件修改时间:{format_time(t.st_mtime)}") print(f"文件访问时间:{format_time(t.st_atime)}")
运行结果 文件大小:11 文件创建时间:2023-01-1714:01:41 文件修改时间:2023-01-1714:01:41 文件访问时间:2023-01-1714:01:41
from pathlib import Path
filename = r"demo.txt" res = Path(filename)
res.rename(r"demo_test.txt")
from pathlib import Path
filename = r"demo.txt" res = Path(filename)
if res.is_file(): res.unlink() print("删除成功") else: print("文件不存")
from pathlib import Path
filename = r"test" res = Path(filename)
if res.is_dir(): res.rmdir() print("删除成功") else: print("文件夹不存在")
from pathlib import Path import shutil
filename = r"111" res = Path(filename)
if res.is_dir(): shutil.rmtree(filename) print("删除成功") else: print("文件夹不存在")
from pathlib import Path
filename = r"dist" res = Path(filename)
for item in res.rglob("*"): print(item)
运行结果:
dist\系统小工具助手 dist\系统小工具助手\base_library.zip dist\系统小工具助手\d3dcompiler_47.dll dist\系统小工具助手\images dist\系统小工具助手\libcrypto-1_1-x64.dll dist\系统小工具助手\libcrypto-1_1.dll dist\系统小工具助手\libeay32.dll dist\系统小工具助手\libEGL.dll
from pathlib import Path
filename = r"dist" res = Path(filename)
for item in res.rglob("**"): print(item)
运行结果
dist dist\系统小工具助手 dist\系统小工具助手\images dist\系统小工具助手\PyQt5 dist\系统小工具助手\PyQt5\Qt5 dist\系统小工具助手\PyQt5\Qt5\plugins dist\系统小工具助手\PyQt5\Qt5\plugins\audio dist\系统小工具助手\PyQt5\Qt5\plugins\bearer dist\系统小工具助手\PyQt5\Qt5\plugins\geoservices
from pathlib import Path
filename = r"dist" res = Path(filename)
for item in res.rglob("*"): temp_file = Path(item) if temp_file.is_file(): print(item)
运行结果
dist\系统小工具助手\base_library.zip dist\系统小工具助手\d3dcompiler_47.dll dist\系统小工具助手\libcrypto-1_1-x64.dll dist\系统小工具助手\libcrypto-1_1.dll dist\系统小工具助手\libeay32.dll dist\系统小工具助手\libEGL.dll dist\系统小工具助手\libGLESv2.dll dist\系统小工具助手\libssl-1_1-x64.dll dist\系统小工具助手\MSVCP140.dll dist\系统小工具助手\MSVCP140_1.dll