Как я могу указать рабочий каталог для popen

Можно получить доступ к заключительным локальным переменным и параметрам в блоках инициализации и методах локальных классов. Рассмотрите это:

    final String foo = "42";
    new Thread() {
        public void run() {
             dowhatever(foo);
        }
    }.start();

Немного как закрытие, не так ли?

174
задан David Jones 8 April 2019 в 15:10
поделиться

1 ответ

subprocess.Popen принимает аргумент cwd для установки текущего рабочего каталога; вы также захотите убрать обратную косую черту ( 'd: \\ test \\ local' ) или использовать r'd: \ test \ local ', чтобы обратная косая черта была 't интерпретируется Python как escape-последовательности. Как вы написали, часть \ t будет переведена на вкладку .

Итак, ваша новая строка должна выглядеть так:

subprocess.Popen(r'c:\mytool\tool.exe', cwd=r'd:\test\local')

Для использования вашего скрипта Python путь как cwd, import os и определите cwd, используя это:

os.path.dirname(os.path.realpath(__file__)) 
253
ответ дан 23 November 2019 в 20:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: