繁体   English   中英

从另一个程序运行 python 程序和 arguments

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM