我正在为我的jenkins服务器编写一个清理脚本。不需要过多的细节,我想从每个docroot中的一个文件中获取一个变量,并在for循环中与之匹配。在
所以,就像每个google结果都告诉我的那样,我尝试将docroot添加到系统路径追加(docroot),然后使用imp查找模块,然后使用imp.find_module('python_vars')
from python_vars import git_branch
并使用了变量。在
这里的问题是它适用于第一个,但是它已经加载,并且在循环中没有改变。所以我想把docroot从系统路径在每次迭代结束时,然后使用
^{pr2}$
这给了我一个“reload()参数必须是module”。以及reload(python_vars)
from python_vars import git_branch
给我“NameError:name”python\u vars“未定义”
Tbh,这似乎是一种可怕的方法,难道没有更简单的方法从文件中获取变量吗?在
在php中,我可以简单地执行以下操作
在循环中包含(docroot),它会覆盖内存中的变量,然后就完成了。在
这是完整的循环,我完全知道这是垃圾,但我现在只是在尝试一些东西。在if os.path.exists(docroot):
sys.path.append(docroot)
# If docroot exists need to check if it is meant to
import imp
try:
imp.find_module('python_vars')
from python_vars import git_branch
remove_project = check_for_git_branch(docroot, git_branch)
except ImportError:
remove_project = True
print 'importerror'
try:
imp.find_module('python_vars')
reload(python_vars)
from python_vars import git_branch
except ImportError:
print 'nope'
sys.path.remove(docroot)