记住python中的命令行变量

时间:2019-04-07 10:56:06

标签: python python-3.x cmd subprocess

我想让命令行在python中运行。

例如:

import subprocess

subprocess.call('set /A x = 5', shell=True)  
subprocess.call('echo %x%', shell=True)  

我想我记得x设置为5的值。但是相反,它只回显%x%作为字符串。

1 个答案:

答案 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-在这里可能没什么大不了的,但是您通常应该检查子流程失败。