问:
- 如何获取当前目录的绝对路径:
- 如何获取当前文件的绝对路径:
答:
import os
path = os.getcwd()
file_path = os.path.abspath(__file__)
问:
- 假设有一目录,当前正在编写
main.py
文件 - 要获取当前文件所在目录的绝对路径怎么办?
- 要获取
client.py
的绝对路径怎么办?
.
├── resource
│ ├── client.py
│ ├── ext1.py
│ └── server.py
└── main.py
答:
import os
file_dir = '/'.join(os.path.abspath(__file__).split('/')[:-1]) # 当前文件路径
client_py_path = os.path.join(file_dir, 'resource/client.py') # client.py的路径
问:
这看起来也太难受了,特别是第一个路径的获取;有没有好一点的办法?
答:
使用pathlib模块
from pathlib import Path
import os
file_dir = Path(os.path.abspath(__file__)).cwd()
clinet_py_path = file_dir/'resource'/'client.py'
此模块实现了路径类Path
,并实现了此路径类的除法运算符:/
,使得代码易读性显著上升