记住python中的命令行变量

问题描述 投票:-3回答:1

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

例如:

import subprocess

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

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

python python-3.x cmd subprocess
1个回答
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 - 这可能并不重要,但您通常应检查子进程失败。

© www.soinside.com 2019 - 2024. All rights reserved.