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

Материал из Онлайн справочника
Перейти к навигации Перейти к поиску

(Новая страница: «{{Python/Панель перехода}} {{Myagkij-редактор}} =Открытие файлов программами по умолчанию»= ==Зад…»)
 
 
(не показаны 2 промежуточные версии этого же участника)
Строка 3: Строка 3:
 
{{Myagkij-редактор}}
 
{{Myagkij-редактор}}
  
=Открытие файлов программами по умолчанию»=
+
=Открытие файлов программами по умолчанию=
  
 
==Задача==
 
==Задача==
  
 +
Открыть файл программой, ассоциированной с данным расширением.
  
 +
==Решение==
 +
 +
Используйте модуль [[subprocess]] и вывоз функции [[Popen()]].
 +
 +
Для [[Windows]]:
 +
 +
<syntaxhighlight lang="python" enclose="div">
 +
import subprocess
 +
subprocess.Popen(['start', 'ПУТЬКФАЙЛУ'], shell=True)
 +
</syntaxhighlight>
 +
 +
Для [[Ubuntu Linux]]:
  
==Решение==
+
<syntaxhighlight lang="python" enclose="div">
 +
import subprocess
 +
subprocess.Popen(['see', 'ПУТЬКФАЙЛУ'])
 +
</syntaxhighlight>
  
 +
Для [[OS X]]:
 +
 +
<syntaxhighlight lang="python" enclose="div">
 +
import subprocess
 +
subprocess.Popen(['open', 'ПУТЬКФАЙЛУ'])
 +
</syntaxhighlight>
  
 
==Пример==
 
==Пример==
  
===Пример для Windows===
+
===Пример №1===
 +
 
 +
Создадим текстовый файл и откроем его программой по умолчанию.
 +
 
 +
====для Windows====
  
 
<syntaxhighlight lang="python" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">
 
<syntaxhighlight lang="python" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">
Строка 25: Строка 51:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
===Пример для Ubuntu Linux===
+
==== для Ubuntu Linux====
  
 
<syntaxhighlight lang="python" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">
 
<syntaxhighlight lang="python" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">
Строка 36: Строка 62:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
===Пример для OS X===
+
====для OS X====
  
 
<syntaxhighlight lang="python" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">
 
<syntaxhighlight lang="python" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">

Текущая версия на 22: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

1 import subprocess
2 
3 fileObj = open('hello.txt', 'w')
4 fileObj.write('Hello world!')
5 fileObj.close()
6 subprocess.Popen(['start', 'hello.txt'], shell=True)

для Ubuntu Linux

1 import subprocess
2 
3 fileObj = open('hello.txt', 'w')
4 fileObj.write('Hello world!')
5 fileObj.close()
6 subprocess.Popen(['see', 'hello.txt'])

для OS X

1 import subprocess
2 
3 fileObj = open('hello.txt', 'w')
4 fileObj.write('Hello world!')
5 fileObj.close()
6 subprocess.Popen(['open', 'hello.txt'])

См.также

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