Python之文件系统操作(pathlib)
""" 文件相关操作(pathlib) date:2023-01-29 """ from pathlib import Path # 获取当前工作目录 print(Path.cwd()) # D:\workspace\py\python_demo\root\demo\study_demo\file_demo p = Path(Path.cwd()) # 实例化 p = p / "pathlib_demo.py" # 组装文件路径 print(p) # D:\workspace\py\python_demo\root\demo\study_demo\file_demo\pathlib_demo.py print(p.is_dir()) # False print(p.is_file()) # True print(p.exists()) # True print(p.name) # 文件名包含后缀 pathlib_demo.py print(p.stem) # 文件名不包含后缀 pathlib_demo print(p.suffix) # 后缀名 .py print(p.parent) # 父级目录 D:\workspace\py\python_demo\root\demo\study_demo\file_demo print(p.parents) # 父级目录序列对象,可通过索引值访问 <WindowsPath.parents> for pp in p.parents: print(pp) """ D:\workspace\py\python_demo\root\demo\study_demo\file_demo D:\workspace\py\python_demo\root\demo\study_demo D:\workspace\py\python_demo\root\demo D:\workspace\py\python_demo\root D:\workspace\py\python_demo D:\workspace\py D:\workspace D:\ """ print(p.stat()) # 文件状态 print(p.stat().st_size) # 文件大小(字节) cp = Path(".") # 当前路径 Path("..") # 父级路径 print(cp.iterdir()) # <generator object Path.iterdir at 0x000001A170595F90> for pp in cp.iterdir(): """输出当前目录下所有文件和文件夹""" print(pp) # 创建目录 cp = Path() cp = cp / "dir" cp.mkdir(parents=True, exist_ok=True) # 新建目录,自动创建父级目录、目录已存在不报错 # 创建文件 cp = cp / "file.txt" f = cp.open("w") f.writelines("hello") f.close() # 修改文件名称 cp_new = cp.parent / "file_new.txt" cp.rename(cp_new) # file.txt -> file_new.txt # 删除文件 cp_new.unlink() # 删除目录 cp_new.parent.rmdir() # 查找文件 p = Path() print(list(p.glob("*.py"))) # 搜索当前目录下所有py后缀的文件 print(list(p.glob("**/*.py"))) # 搜索当前目录及其子目录下所有后缀py的文件 l = [x.name for x in p.glob("*.py") if x.is_file() & x.name.startswith("file")] # 列表推导式查询指定文件的名称 print(l) # ['file_demo.py']
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
2019-02-01 TestNG之使用ReportNG生成测试报告
2019-02-01 TestNG之测试执行后没有生成默认测试报告(IDEA)