对python比较陌生,我在工作中使用它来实现实验室设备的自动化。在
我有一个脚本存在于目录B中。目录B的父目录是目录a。目录a保存着另一个目录,我需要从中输入和导入模块。结构如下:
A
B C
myscript.py
E F
m1.py m2.py
我需要将m1.py和m2.py导入到脚本中。我无法将上面的脚本移动到A目录中,因为它正在访问我编写并转储到B中的其他模块。出于公司特定的原因,我需要维护目录C及其以下的所有内容的目录结构(不要让我开始)
我的问题是,我如何明智地导入这些?我不想硬编码它们的路径,因为它们将存在于SVN中,并且根可能会改变。我在考虑用一个循环来扫描?我只是不熟悉语法来实现这一点。欢迎所有解决方案!在
更好的做法是在Python中显式导入并注意目录结构。如果结构改变了,你的导入也应该改变。在
只要您的项目在python路径上,您就应该能够从
B
中的模块或层次结构中的任何其他位置执行此操作:如果目录结构总是相同的,您可以尝试导入
m1.py
和m2.py
,方法是将C
的路径追加到myscript.py
中的sys.path
。在您还可以通过使用} 和{a2}和{a3})以及变量-}的路径。在
os.path
方法(如^{__file__
从B
获得{示例-
我有以下文件设置:
代码:
A/C/E/m1.py
^{pr2}$A/C/F/m2.py
A/B公司/myscript.py在
或者,如果导入目录名有空格(例如,
C dir
而不是C
):所有的
__init__.py
文件都是空的,但是需要存在这样Python才能知道在这些文件夹中查找代码。在cd
到A
目录,然后将脚本作为包运行。注意:文件名没有.py
和结尾。在输出:
相关问题 更多 >
编程相关推荐