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