将变量传递给 python 中的子流程
Passing variables to a subprocess in python
我不知道这是不是正确的形式
num=8
num2=10
num=subprocess.check_output("num/2", shell=True)
num2=subprocess.check_output("num2+7", shell=True)
'num/2'
就是字符串“num/2”。如果您希望它成为变量 num
,您需要对其进行插值,例如,使用 f 字符串 f'{num}/2'
.
此外,如果您尝试使用 bash 作为除法,则必须添加双括号以进行算术扩展:
>>> num = 8
>>> subprocess.check_output(f'echo $(( {num}/2 ))', shell=True)
b'4\n'
Python先将{num}
内插到8
,再将echo $(( 8/2 ))
内插到shell。
我不知道这是不是正确的形式
num=8
num2=10
num=subprocess.check_output("num/2", shell=True)
num2=subprocess.check_output("num2+7", shell=True)
'num/2'
就是字符串“num/2”。如果您希望它成为变量 num
,您需要对其进行插值,例如,使用 f 字符串 f'{num}/2'
.
此外,如果您尝试使用 bash 作为除法,则必须添加双括号以进行算术扩展:
>>> num = 8
>>> subprocess.check_output(f'echo $(( {num}/2 ))', shell=True)
b'4\n'
Python先将{num}
内插到8
,再将echo $(( 8/2 ))
内插到shell。