我有一个包装 python 脚本,它通过重复调用另一个 python 脚本os.system
。这工作得很好,但是调用子 shell 并一次又一次地导入模块会对性能造成很大影响。我怎样才能将其转换为更优雅和高性能的东西?
counter = 0
for thing in list_of_stuff:
os.system("python inner_script.py %s result_%s" % (thing, counter)
counter += 1
我宁愿在包装器中完成这一切,但如果这是唯一或最好的方法,可以修改inner-script.py 。
如果相关,环境是 Windows 上的 Python 2.7。
编辑:我不只是导入 inner_script 因为它不理解命令行参数:
import inner_script
counter = 0
for thing in ['TR2','TR5']:
inner_script('%s result_%s' % (thing, counter))
counter += 1
结果:
C:\> python xx-wrapper.py
inner_script [input features] [output workspace]
这是inner_script.py返回的使用信息:
if len(sys.argv) < 3:
print usage
exit()
in_features = sys.argv[1]
out_folder = sys.argv[2]
main(in_features, out_folder)