如何运行位于子目录中的脚本? ImportError:没有名为x的模块
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何运行位于子目录中的脚本? ImportError:没有名为x的模块相关的知识,希望对你有一定的参考价值。
我的目录结构:
r/
|___init__.py
|
|_d1/
| |___init__.py
| |_s1.py
|
|_d2/
|___init__.py
|_s2.py
s1.py的内容:
a = 1
print(a)
s2.py的内容:
from d1.s1 import a
print(2 * a)
我导航到目录qazxsw poi并执行qazxsw poi。终端打印qazxsw poi。当我执行/r
时,我得到一个错误python3 d1/s1.py
。如何执行脚本1
?
答案
当你说,
python3 d2/s2.py
Python将首先查找名为d1的模块,然后在该模块中查找名为s1的模块,然后在其中查找名为a的对象(可能是常规python对象或其他模块)。
所以,
ImportError: No module named 'd1'
可以通过几种不同的方式工作:
s2
要么
from d1.s1 import a
要么
from d1.s1 import a
在您的情况下,init.py仅在d1和s1和s2位于相同目录时有效。
如果要从另一个子目录d1导入模块s1,请确保sys路径中的目录d1。
将d1添加到sys路径
-- d1/
-- __init__.py
-- s1.py <-- contains a variable called "a"
以上是关于如何运行位于子目录中的脚本? ImportError:没有名为x的模块的主要内容,如果未能解决你的问题,请参考以下文章
Python导入并运行位于不同目录中的python脚本[重复]
Yarn 2:如何从 `node_modules/.bin` 目录运行脚本?
如何在 tkinter GUI 位于同一文件中的情况下运行 python 脚本?您如何处理用户条目?