在一个py文件中调用外部的py文件,而外部的py文件中含有对相对路径的处理

4 篇文章 0 订阅
2 篇文章 0 订阅

这个问题搜了几天,没有一个靠谱的,最后靠自己解决。

假设有main.py文件,里面需要调用a.py,但这两个py文件所在目录不同,再有a.py中用了相对路径加载了一个txt文件。此时如果直接执行“python main.py”,会报错说找不到txt文件。

错误产生原因:“python main.py” 执行时,程序的入口是main,也即默认的路径为main.py所在的目录,此时在a.py中使用的相对路径都变成了相对于main.py所在的目录,与实际情况不同。最终导致所有相对路径失效。

解决方法:在main.py中使用代码更改默认的入口路径,示例代码如下:

import os
print(os.getcwd()) #  path of main.py
os.chdir('/home/fang_SK/') # this path include a.py
print(os.getcwd()) #  path of a.py
os.system('python3 a.py')

核心是os.chdir(),更改默认的程序入口即可。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值