我想运行带有不同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
答案 0 :(得分:3)
对于解析INI文件,您可以使用Python中的configparser标准库模块。
答案 1 :(得分:1)
您可以使用__import__
功能。
my_module=__import__('os') #basically the same as `import os as my_module`
当然,你不能用from blah import *
来做这件事,但很多人会争辩说你不应该在生产代码中使用那个成语。
但是,如果您只想设置一些变量,则应考虑使用命令行解析实用程序或配置文件解析器(configparser
,argparse
和optparse
介意 - 所有在标准库中)因为这会阻止用户运行不受信任的代码。