Python3 标准库 pathlib 可替代 os.path.join

from pathlib import Path
p = Path(__file__)

print(p.cwd())          # 获取当前文件所属目录
print(p.resolve())     # 通过传入文件名,返回文件的完整路径。
new_path = p.joinpath("str")          # 获取子路径等价于   p / str
print(new_path)


print(p.stat())  # 获取当前文件的信息

print(p.exists())  # 判断当前路径是否是文件或者文件夹

print(p.glob("filename"))  # 获取路径下的所有符合filename的文件,返回一个generator
pys = p.glob('*.py')        #   pys是经过yield产生的迭代器
for py in pys:
  print(py)


print(p.rglob("filename"))  # 与上面类似,只不过是返回路径中所有子文件夹的符合filename的文件

print(p.is_dir())  # 判断该路径是否是文件夹

print(p.is_file())  # 判断该路径是否是文件

print(p.iterdir())  # 当path为文件夹时,通过yield产生path文件夹下的所有文件、文件夹路径的迭代器
for i in p.iterdir():
  print(i)

p_news = p.parent / 'new_dirs' / 'new_dir'
p_news.mkdir(parents=True)  # 根据路径创建文件夹,parents=True时,会依次创建路径中间缺少的文件夹

p.open(mode='r', buffering=-1, encoding=None, errors=None, newline=None)  # 类似于open()函数

p.rename("target")  # 当target是string时,重命名文件或文件夹;当target是Path时,重命名并移动文件或文件夹

p.replace("target")  # 重命名当前文件或文件夹,如果target所指示的文件或文件夹已存在,则覆盖原文件

print(p.parent)    # parent获取path的上级路径
print(p.parents)   # parents获取path的所有上级路径

p.is_absolute()  # 判断path是否是绝对路径

p.match("pattern")  # 判断path是否满足pattern

p.rmdir()  # 当path为空文件夹的时候,删除该文件夹

print(p.name)  # 获取path文件名

print(p.suffix)  # 获取path文件后缀

猜你喜欢

转载自blog.csdn.net/wohu1104/article/details/128292086