Сообщить об ошибке.

Функция startfile() модуля os в Python

Запускает файл в Windows с помощью связанного приложения на основе расширения

Синтаксис:

import os

os.startfile(path[, operation][, arguments][, cwd][, show_cmd])

Параметры:

  • path - относительный путь до запускаемого файла,
  • operation - задокументированный в Microsoft командный глагол.
  • arguments - передаваемые аргументы запускаемому приложению (добавлен в Python 3.10),
  • cwd - абсолютный путь, переопределяет рабочий каталог (добавлен в Python 3.10),
  • show_cmd - переопределяет стиль окна по умолчанию (добавлен в Python 3.10).

Возвращаемое значение:

  • нет.

Описание:

Функция startfile() модуля os запускает файл с помощью связанного с ним приложения на основе расширения.

Аргумент пути path указывается относительно текущего каталога. Если вы хотите использовать абсолютный путь, то необходимо убедится, что первый символ не является косой чертой '/', т. к. базовая функция Win32 ShellExecute() с ним работать не будет. Чтобы убедиться в правильности пути для Win32 - используйте функцию os.path.normpath().

Аргумент operation:

  • Если аргумент operation не указан, вызов действует подобно двойному щелчку по файлу в проводнике Windows или указанию имени файла в качестве аргумента команде запуска из интерактивной командной оболочки: файл открывается любым приложением (если таковое имеется), с которым связано его расширение.
  • Когда задается operation, то она должна быть "командным глаголом", который указывает, что следует делать с файлом. Общие глаголы, задокументированные Microsoft, - это 'open', 'print' и 'edit' (для использования в файлах), а также 'explore' и 'find' (для использования в каталогах).

При запуске приложения можно указать arguments (добавлен в Python 3.10), которые будут передаваться в виде одной строки. Этот arguments может не иметь никакого эффекта при использовании этой функции для запуска документа.

Рабочий каталог по умолчанию наследуется, но может быть переопределен аргументом cwd (добавлен в Python 3.10). Это должен быть абсолютный путь. Относительный путь path будет разрешен по этому аргументу.

Чтобы переопределить стиль окна по умолчанию, можно использовать аргумент show_cmd (добавлен в Python 3.10). Будет ли это иметь какой-либо эффект, зависит от запускаемого приложения. Значения являются целыми числами, что поддерживается функцией Win32 ShellExecute().

Чтобы уменьшить накладные расходы на запуск интерпретатора, функция Win32 ShellExecute() не разрешается до первого вызова функции os.startfile(). Если функция не может быть разрешена, то будет вызвано исключение NotImplementedError.

Вызывает событие аудита os.startfile с аргументом path, operation.

Доступность: Windows.

Изменено в версии Python 3.10: добавлены аргументы arguments, cwd и show_cmd.

Пример открытия файла .docx для редактирования в приложении Microsoft Word.

>>> import os
# файл откроется в приложении Microsoft Word
>>> os.startfile('test.docx', 'edit')

# файл откроется в блокноте, если с расширением 
# `.txt` не ассоциировано другое приложение.
>>> os.startfile('test.txt', 'edit')