Как использовать Python для открытия файла во внешней программе?

В Python есть ли функция, которая позволяет открыть файл нажатием на него, вместо выбора через приложение? (open не подходит)
  • 15 ноября 2023 г. 12:41
Ответы на вопрос 2
В Python вы можете использовать модуль `subprocess` для открытия файла во внешней программе. 

Вот пример кода, который демонстрирует, как это можно сделать:

```python
import subprocess

def open_file(file_path):
    try:
        subprocess.run([file_path], check=True)
    except subprocess.CalledProcessError as e:
        print(f"Ошибка при открытии файла: {e}")

# Пример использования
file_path = "путь_к_вашему_файлу"
open_file(file_path)
```

В этом примере мы определяем функцию `open_file`, которая принимает путь к файлу в качестве аргумента. Затем мы используем функцию `subprocess.run` для выполнения командной строки, передавая путь к файлу в виде аргумента. Если указанный файл оказывается допустимым для программы по умолчанию, она открывает его в соответствующем приложении.

Обратите внимание, что этот пример предназначен для операционных систем, основанных на Unix (Linux, macOS). Для Windows код может немного отличаться из-за различий в командной строке.
Открывайте файлы, нажимая на них, вместо выбора в приложении. Например, для открытия файла с расширением .docx или .txt, можно использовать следующий код:

```python
import subprocess

filename = 'путь/к/файлу.doc'
subprocess.run(['open', filename])  # для Windows
# subprocess.run(['open', filename])  # для macOS
# subprocess.run(['xdg-open', filename])  # для Linux
```
Похожие вопросы