1
У меня есть некоторые функции Python, которые выполняют пакетные команды с:Python в окнах открывает новую консоль
subprocess.Popen(cmd, stdout=subprocess.PIPE, shell=True).stdout.read().decode('utf-8').rstrip()
Запуск этого в Linux это нормально, но работает в Windows, он открывает новую консоль на каждом subprocess.Popen вызова и предыдущая консоль не знает о каких-либо изменениях, внесенных этой функцией в новую консоль.
Как я могу продолжить?
Это помогло бы знать, что вы используете для 'cmd'. Кроме того, я не вижу, что это происходит в Win7 с 2.7.2. Я не вижу окна, даже когда я использую «паузу» для 'cmd'. Последнее: вы ** не можете ** влиять на текущую _environment_ от дочернего _environment_. Это не так, как это работает (если вы не делаете сумасшедшие вещи, такие как настройка реестра). Тем не менее, вы _can_ влияете на текущую среду до появления новой. [См. Документацию для os.environ] (https://docs.python.org/2/library/os.html#os.environ). – mtik00