[英]Running python program with arguments from another program
我想从当前程序中调用一个 python 程序,
def multiply(a):
return a*5
mul = sys.argv[1]
我将此文件保存为test.py
.so 从我正在调用的当前文件中保存,但我想像多处理队列一样并行运行代码,但它不起作用。 到目前为止我尝试过的,
import os
import sys
import numpy as np
cwd = os.getcwd()
l = [20,5,12,24]
for i in np.arange(len(l)):
os.system('python test.py multiply[i]')
我想像多处理一样并行运行所有列表项的主脚本。 如何做到这一点?
如果你想让你的程序像使用 os.system 那样工作,你需要稍微改变一下 test.py 文件:
import sys
def multiply(a):
return a*5
n = int(sys.argv[1])
print(multiply(n))
像这样编写的代码采用 argv 的第二个元素(第一个只是文件名),当您使用 os.system 执行它并将其转换为 integer,然后执行您的 function(乘以 5) .
但是,在这些情况下,最好将此文件作为模块导入项目中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.