使用ini文件运行python脚本

时间:2012-07-18 14:32:45

标签: python ini

我想运行带有不同ini文件的python脚本

我把一些变量放在ini.py中,而不是我想用这个inifile运行我的program.py.

我尝试过类似的事情:

批处理 - > program.py ini

sys.argv[1]
from sys.argv[1] import *

eval('from '+sys.argv[1]+' import *')

但这不起作用。

现在我写道:

import sys
f = open('outp.py','w')
f.write("from "+sys.argv[1]+" import *\n")
f.write("print x\n")
with open('program.py', 'r') as content_file:
    content = content_file.read()
f.write(content)
f.close()

execfile( "outp.py")

基本上用额外的导入语句重写我的程序文件.... 我希望有一种更简单的方式吗?! (不是批量生产) THX

2 个答案:

答案 0 :(得分:3)

对于解析INI文件,您可以使用Python中的configparser标准库模块。

答案 1 :(得分:1)

您可以使用__import__功能。

my_module=__import__('os')  #basically the same as `import os as my_module`

当然,你不能用from blah import *来做这件事,但很多人会争辩说你不应该在生产代码中使用那个成语。

但是,如果您只想设置一些变量,则应考虑使用命令行解析实用程序或配置文件解析器(configparserargparseoptparse介意 - 所有在标准库中)因为这会阻止用户运行不受信任的代码。