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')