执行规则
/project
|---A
| |---a.py
|---B
| |---test.txt
相对路径的根节点,以执行 python 脚本的目录为准
在 /project/A 目录下 python a.py
,则 a 中的相对路径,实际根节点是 A
在 /project目录下 python A/a.py
,则 a 中的相对路径,实际根节点是 project
例如,a.py 中如果有这样一条命令:
with open('B/test.txt', 'r') as f:
print("success!")
如果在 /project目录下 python A/a.py
,则可以执行;
如果在 /project/A 目录下 python a.py
,则提示找不到文件。
如何避免
工具:os.path.dirname
,os.path.join
,os.path.abspath
修改 a.py
import os
import os.path as osp
relative_path = 'B/test.txt'
pth = osp.abspath( relative_path )
with open( pth, 'r') as f:
print("success!")
更多推荐
菜鸟篇--python相对路径
发布评论