我想让命令行在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
- 这里可能无关紧要,但您通常应该检查子进程故障。