我有一个像这样的python项目:
root/
__init__.py
coolstuff.py
moduleA/
__init__.py
myscript.py
当我的工作目录 moduleA
时,我如何运行myscript.py
,知道它需要有权访问coolstuff
?
编辑:我知道$PYTHONPATH
解决方案,但我想知道存在哪些其他解决方案
答案 0 :(得分:1)
将您的根目录包含在路径中并导入您的包。在myscript.py中包含以下代码。
import sys
from os.path import dirname,abspath
sys.path.append(dirname(dirname(abspath(__file__))))
import coolstuff
# do cool stuff
希望这有帮助!
修改:添加了导入系统
答案 1 :(得分:0)
您可以导入sys并导入存在coolstuff.py的实际目录。
例如:
import sys
sys.path.insert(0,"/root")
import coolstuff
注意:如果您使用的是Windows,请使用这样的路径 - " C:\ Users \ test \ Documents" (考虑到你的coolstuff.py位于文件中)
__init__.py is not required for this method.
希望这对你有帮助!
答案 2 :(得分:0)
将项目路径添加到PYTHONPATH:
export PYTHONPATH =$PYTHONPATH:/xyz/root/
或来自python:
import sys
sys.path.append("/xyz/root/")# path to your project directory
现在,只需输入即可访问根目录中的所有模块。