我想让命令行在python中运行。
例如:
import subprocess
subprocess.call('set /A x = 5', shell=True)
subprocess.call('echo %x%', shell=True)
我想我记得x设置为5的值。但是相反,它只回显%x%
作为字符串。
答案 0 :(得分:1)
使用subprocess
意味着您要运行另一个进程。当控件从子进程返回到Python时,设置变量的过程将不再存在。
尝试
import os
import subprocess
env = os.environ.copy()
env['x'] = '5'
subprocess.check_call(
'echo %x%',
shell=True,
env=env)
还请注意切换到check_call
-在这里可能没什么大不了的,但是您通常应该检查子流程失败。