如何在python脚本中将随机参数传递给另一个python程序?
我只是尝试为下面的python脚本传递随机参数 代码: 在上面的代码中,变量如何在python脚本中将随机参数传递给另一个python程序?,python,bash,python-2.7,python-3.x,Python,Bash,Python 2.7,Python 3.x,我只是尝试为下面的python脚本传递随机参数 代码: 在上面的代码中,变量obj将随机更改,但除此之外,所有参数都是静态的 错误: root@prabhu:/home/teja/MalopInfo/version1/MalopInfo# ./crver1.sh % Total % Received % Xferd Average Speed Time Time Time Current Dload
obj
将随机更改,但除此之外,所有参数都是静态的
错误:
root@prabhu:/home/teja/MalopInfo/version1/MalopInfo# ./crver1.sh
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 116 0 116 0 0 5313 0 --:--:-- --:--:-- --:--:-- 5523
11.945403842773683082
Traceback (most recent call last):
File "qjson.py", line 15, in <module>
subprocess.call(['./malopinfo.py', arg1, arg2, arg3, arg4, obj])
File "/usr/lib/python2.7/subprocess.py", line 522, in call
return Popen(*popenargs, **kwargs).wait()
File "/usr/lib/python2.7/subprocess.py", line 710, in __init__
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1335, in _execute_child
raise child_exception
请帮我做这个 在我看来,您正在将整个
obj
字典传递到命令中。要获得所需的调用,请将参数列表中的obj['data'][i]['value']
传递到subprocess.call
。因此,脚本的最后一行应该是
subprocess.call(['./malopinfo.py', arg1, arg2, arg3, arg4, obj['data'][i]['value'], arg5])
或者,您可以在每次循环迭代中创建一个变量来包含该变量,只要可行。您直接传递的是一个对象。事先,您需要将其转换为字符串作为
子流程。call
将期望obj是字符串。获取其中一个obj属性的字符串值,就像您已经完成的那样,obj['data'][i]['value']
并将其传递到您的子流程中。sys.stdin
看起来非常可疑。你确定这是正确的命令吗?是的,我可以使用变量obj
打印我的值。如果您看到错误,我可以打印值11.945403842773683082
arg5
是-h
,而不是-output req.txt
@TejaR,你注意到你声明了arg5两次了吗?运行'.join(['./malopinfo.py',arg1,arg2,arg3,arg4,obj,arg5])
查看您的程序是否使用正确的参数调用。抱歉,它的输入错误!!我没有输入arg6,而是输入了agr5。
python malopinfo.py Site1 443 admin@example.com example@123 11.945403842773683082 --output req.txt
subprocess.call(['./malopinfo.py', arg1, arg2, arg3, arg4, obj['data'][i]['value'], arg5])