Python:Рецепты/Открытие файлов программами по умолчанию: различия между версиями

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Нет описания правки
Строка 15: Строка 15:
Для [[Windows]]:
Для [[Windows]]:


<syntaxhighlight lang="python" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">
<syntaxhighlight lang="python" enclose="div">
import subprocess
import subprocess
subprocess.Popen(['start', 'ПУТЬКФАЙЛУ'], shell=True)
subprocess.Popen(['start', 'ПУТЬКФАЙЛУ'], shell=True)
Строка 22: Строка 22:
Для [[Ubuntu Linux]]:
Для [[Ubuntu Linux]]:


<syntaxhighlight lang="python" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">
<syntaxhighlight lang="python" enclose="div">
import subprocess
import subprocess
subprocess.Popen(['see', 'ПУТЬКФАЙЛУ'])
subprocess.Popen(['see', 'ПУТЬКФАЙЛУ'])
Строка 29: Строка 29:
Для [[OS X]]:
Для [[OS X]]:


<syntaxhighlight lang="python" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">
<syntaxhighlight lang="python" enclose="div">
import subprocess
import subprocess
subprocess.Popen(['open', 'ПУТЬКФАЙЛУ'])
subprocess.Popen(['open', 'ПУТЬКФАЙЛУ'])

Версия от 23:03, 13 января 2020

Проверка/Оформление/Редактирование: Мякишев Е.А.


Открытие файлов программами по умолчанию

Задача

Открыть файл программой, ассоциированной с данным расширением.

Решение

Используйте модуль subprocess и вывоз функции Popen().

Для Windows:

import subprocess
subprocess.Popen(['start', 'ПУТЬКФАЙЛУ'], shell=True)

Для Ubuntu Linux:

import subprocess
subprocess.Popen(['see', 'ПУТЬКФАЙЛУ'])

Для OS X:

import subprocess
subprocess.Popen(['open', 'ПУТЬКФАЙЛУ'])

Пример

Пример №1

Создадим текстовый файл и откроем его программой по умолчанию.

для Windows

import subprocess

fileObj = open('hello.txt', 'w')
fileObj.write('Hello world!')
fileObj.close()
subprocess.Popen(['start', 'hello.txt'], shell=True)

для Ubuntu Linux

import subprocess

fileObj = open('hello.txt', 'w')
fileObj.write('Hello world!')
fileObj.close()
subprocess.Popen(['see', 'hello.txt'])

для OS X

import subprocess

fileObj = open('hello.txt', 'w')
fileObj.write('Hello world!')
fileObj.close()
subprocess.Popen(['open', 'hello.txt'])

См.также

Внешние ссылки