运行python脚本
问题描述:
我想用不同的INI文件运行python脚本
我把一些变量在ini.py,比我想这个ini文件运行我program.py运行python脚本。
我想是这样的:在分批> 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")
basicly重写我的程序文件,一个额外的进口statment .... 还有一个更简单的方法,我希望? (不一定是批次) thx
答
您可以使用__import__
函数。
my_module=__import__('os') #basically the same as `import os as my_module`
当然,你不能做from blah import *
这一点,但很多人会说,你不应该在生产中使用的代码,成语呢。
不过,如果你只是想设置一些变量,则应该考虑一个命令行实用工具解析,或配置文件分析器(configparser
,和optparse
都浮现在脑海中 - 所有的标准库),因为这将阻止用户运行不可信的代码。