import python 变量_从另一个python文件中获取变量而不导入

在编写 Jenkins 清理脚本时,作者遇到一个问题:需要在循环中从不同目录的 `python_vars` 文件中获取 `git_branch` 变量。尝试使用 `imp` 模块导入并重新加载模块,但遇到了错误。寻求一种不导入整个模块而在每次迭代中更新变量的方法。
摘要由CSDN通过智能技术生成

我正在为我的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)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值