«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как установить рабочий каталог для подпроцессов в Python?

Как установить рабочий каталог для подпроцессов в Python?

Опубликовано 6 ноября 2024 г.
Просматривать:674

How Do You Set Working Directory for Subprocesses in Python?

Как установить рабочий каталог для подпроцессов в Python

В Python функция subprocess.Popen() позволяет выполнять команды внутри подпроцесс. Одним из распространенных требований является указание рабочего каталога для подпроцесса.

Вопрос:

Как можно установить рабочий каталог для подпроцесса с помощью subprocess.Popen()?

Ответ:

Чтобы указать рабочий каталог, используйте аргумент cwd функции subprocess.Popen(). Аргумент cwd ожидает абсолютный путь к желаемому рабочему каталогу.

Пример:

Предположим, ваш скрипт Python расположен в C:\programs\python, и вы хотите запустите C:\mytool\tool.exe в каталоге D:\test\local. Вы можете использовать следующий синтаксис:

import os

# Get the current Python script directory
cwd = os.path.dirname(os.path.realpath(__file__))

# Execute "C:\mytool\tool.exe" with the specified working directory
subprocess.Popen(r'C:\mytool\tool.exe', cwd=r'D:\test\local')

Примечание:

  • Обязательно используйте необработанные строки (с префиксом r), ​​чтобы избежать интерпретации обратной косой черты как escape-последовательностей.
  • Если вы хотите использовать текущий каталог сценария Python в качестве рабочего каталога, используйте os.path.dirname(os.path .realpath(__file__)).
Заявление о выпуске Эта статья перепечатана по адресу: 1729208175. В случае каких-либо нарушений, пожалуйста, свяжитесь с [email protected], чтобы удалить ее.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3