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

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

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

Синтаксис:

import os

os.startfile(path[, operation])

Параметры:

  • path - относительный путь до запускаемого файла,
  • operation - задокументированный в Microsoft командный глагол.

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

  • нет.

Описание:

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

Если аргумент operation не указан или 'open', то это действует как двойной щелчок по файлу в проводнике Windows или указание имени файла в качестве аргумента для команды запуска из интерактивной командной оболочки: файл открывается в любом приложении, а его расширение ассоциировано.

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

Как только запускается связанное приложение, функция os.startfile() завершается и нет возможности дождаться закрытия приложения и получить статус выхода приложения.

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

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

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

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

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

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

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