记住python中的命令行变量



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

最新更新