我想让命令行在python中运行。
例如:
import subprocess
subprocess.call('set /A x = 5', shell=True)
subprocess.call('echo %x%', shell=True)
我想我记得x被设置为的值5。但相反,它只是%x%
作为一个字符串回声。
使用subprocess
非常具体地表示您运行另一个进程。当控制从子进程返回到Python时,设置变量的过程将不再存在。
尝试
import os
import subprocess
env = os.environ.copy()
env['x'] = '5'
subprocess.check_call(
'echo %x%',
shell=True,
env=env)
另请注意切换到check_call
- 这可能并不重要,但您通常应检查子进程失败。