将变量传递给 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。