1 路径获取
将当前目录添加到模块的查询路径的列表sys.path
from pathlib import Path
import sys
cwd=Path.cwd() #当前目录
print(sys.path)
FILE = Path(__file__).resolve()
ROOT = FILE.parents[0] # 当前目录
if str(ROOT) not in sys.path:
sys.path.append(str(ROOT))
print(sys.path)
获取当前工作目录
import pathlib
hh=pathlib.Path.cwd()
print(hh)
获取当前文件路径
import pathlib
# hh=pathlib.Path.cwd()
hh=pathlib.Path(__file__)
print(hh)
获取用户 home 目录
from pathlib import Path
hh=Path.home()
print(hh)
获取绝对路径
from pathlib import Path
hh=Path('./3.py').resolve()
print(hh)
获取文件属性
from pathlib import Path
file=Path('./3.py').resolve()
print(file)
print(file.stat())
print(file.stat().st_size)
print(file.stat().st_atime)
print(file.stat().st_ctime)
print(file.stat().st_mtime)
路径组成部分
- .name 文件名,包含后缀名,如果是目录则获取目录名。
- .stem 文件名,不包含后缀。
- .suffix 后缀,比如
.txt
,.png
。 - .parent 父级目录,相当于
cd ..
- .anchor 锚,目录前面的部分
C:\
或者/
from pathlib import Path
file=Path('./3.py').resolve()
print(file.name) #文件名
print(file.stem) #文件名,不含后缀
print(file.suffix) #后缀
print(file.parent) #父级目录
print(file.anchor) #目录前面的部分
获取上一级目录
from pathlib import Path
file=Path('./3.py').resolve()
print(file.parent) #获取上级目录
print(list(file.parents)) #获取所有上级目录
子路径扫描
from pathlib import Path
cwd=Path.cwd() #当前目录
file=[path for path in cwd.iterdir() if cwd.is_dir()] #如果当前路径是目录则遍历当前目录
print(file)
查找目录下的指定文件 glob
from pathlib import Path
cwd=Path.cwd() #当前目录
file=list(cwd.glob('*.txt')) #遍历当前目录下的所有txt文件
# file=list(cwd.rglob('*.txt')) #rglob会递归所有子目录
print(file)
路径拼接
from pathlib import Path
cwd=Path.cwd() #当前目录
# file=cwd / 'dir'/'file.txt' #魔术方法
file=cwd.joinpath('dir','hh','file.txt')
print(file)
路径测试(判断)
from pathlib import Path
cwd=Path.cwd() #当前目录
# file=cwd / 'dir'/'file.txt' #魔术方法
file=cwd.joinpath('dir','hh','file.txt')
print(Path(file).is_file() ) #是否为文件
print(Path(file).is_dir()) #是否为目录
print(Path(file).exists())
print(file)
文件操作
from pathlib import Path
cwd=Path.cwd() #当前目录
file=cwd / 'dir'/'file.txt' #魔术方法
file=Path('hh.py').touch(exist_ok=True) #创建文件
path=Path('hh').mkdir() #创建目录
# Path('hh').rmdir() #删除目录
# file=Path('hh.py').unlink() #删除文件
参考: