在Unix中,我们有一个SOURCE命令,可以在shell脚本中加载文本文件,文本文件中的所有参数都可以作为脚本中的变量使用。在python中是否有一个等价的?我需要将一个属性文件从边缘节点加载到.py脚本中,并根据该值在.py脚本中做出决定
Sample job.properties file in edge node is below.
databaseName=employee
hdfspath=/tenancy/ida/data
....
我需要在.py脚本中加载这个job.properties文件,这样就不需要将它们作为命令行参数传递。敬请告知
实际上,您可以为此定制import机制。但是,让我提供一个快速的技巧:
函数
source
迭代所提供文件中的行,并将赋值存储在dict
词典variables
。对于不包含赋值的行,try
/except
将跳过它为了进一步模拟shell寻源的行为,可以添加
如果在模块(非函数)级别工作,这将使
databaseName
和hdfspath
作为Python变量可用请注意,所有“源”变量都将是
str
,甚至对于源文件中的my_int=42
这样的行也是如此您可以使用“exec”来实现类似于“source”的功能。这不是一件好事
它看起来像:
最简单的选择是对ini文件使用configparser模块。 如果不需要,可以尝试yaml或json之类的模块
相关问题 更多 >
编程相关推荐