Как запустить файл через определенную программу?
Есть файл который нужно открыть с помощью определенной программы. Как это сделать через subprocess? Например, файл file.txt по умолчанию открывается через блокнот. Как сделать так, чтобы он открывался через app.exe?
Отслеживать
задан 7 мая 2022 в 12:27
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
Если речь о том, чтобы в программе на Python запустить приложение, которое откроет файл, то всё просто, запускаете приложение, и указываете имя файла так, как приложение ожидает его получить, обычно это просто первый из параметров командной строки. Например, если из командной строки вы бы запустили приложение таким образом:
app.exe file.txt
То через subprocess нужно было бы сделать так:
import subprocess subprocess.run(["app.exe", "test.txt"])
Сделаю оговорку, что проверял под Linux, но вряд ли в этом случае под Windows будут какие-либо отличия.
Как открыть файл с кодом в Python (прописать его путь)?

Изучаю Python. Это мой первый язык, потому не судите строго.
Итак, в блокноте создал простецкий код print «Hello». Сохранил его в формате start.py. Поместил в папку «C:\Coding»
Теперь пытаюсь запустить этот файл через IDLE
Но мне выдает ошибки — то EOL while scanning string literal, то invalid syntax. Что я не так делаю? И почему не удается войти в папку, чтобы далее запустить команду python start.py?
Застрял на этом моменте. А без запуска кода невозможно и дальнейшее обучение)
На Скрине все попытки
- Вопрос задан более двух лет назад
- 917 просмотров
2 комментария
Простой 2 комментария
Файлы в python, ввод-вывод
Эта статья посвящена работе с файлами (вводу/выводу) в Python: открытие, чтение, запись, закрытие и другие операции.
Файлы Python
Файл — это всего лишь набор данных, сохраненный в виде последовательности битов на компьютере. Информация хранится в куче данных (структура данных) и имеет название «имя файла» (filename).
В Python существует два типа файлов:
Текстовые файлы
Это файлы с человекочитаемым содержимым. В них хранятся последовательности символов, которые понимает человек. Блокнот и другие стандартные редакторы умеют читать и редактировать этот тип файлов.
Текст может храниться в двух форматах: ( .txt ) — простой текст и ( .rtf ) — «формат обогащенного текста».
Бинарные файлы
В бинарных файлах данные отображаются в закодированной форме (с использованием только нулей (0) и единиц (1) вместо простых символов). В большинстве случаев это просто последовательности битов.
Они хранятся в формате .bin .
Любую операцию с файлом можно разбить на три крупных этапа:
- Открытие файла
- Выполнение операции (запись, чтение)
- Закрытие файла
Открытие файла
Метод open()
В Python есть встроенная функция open() . С ее помощью можно открыть любой файл на компьютере. Технически Python создает на его основе объект.
f = open(file_name, access_mode)
- file_name = имя открываемого файла
- access_mode = режим открытия файла. Он может быть: для чтения, записи и т. д. По умолчанию используется режим чтения ( r ), если другое не указано. Далее полный список режимов открытия файла
| Режим | Описание |
|---|---|
| r | Только для чтения. |
| w | Только для записи. Создаст новый файл, если не найдет с указанным именем. |
| rb | Только для чтения (бинарный). |
| wb | Только для записи (бинарный). Создаст новый файл, если не найдет с указанным именем. |
| r+ | Для чтения и записи. |
| rb+ | Для чтения и записи (бинарный). |
| w+ | Для чтения и записи. Создаст новый файл для записи, если не найдет с указанным именем. |
| wb+ | Для чтения и записи (бинарный). Создаст новый файл для записи, если не найдет с указанным именем. |
| a | Откроет для добавления нового содержимого. Создаст новый файл для записи, если не найдет с указанным именем. |
| a+ | Откроет для добавления нового содержимого. Создаст новый файл для чтения записи, если не найдет с указанным именем. |
| ab | Откроет для добавления нового содержимого (бинарный). Создаст новый файл для записи, если не найдет с указанным именем. |
| ab+ | Откроет для добавления нового содержимого (бинарный). Создаст новый файл для чтения записи, если не найдет с указанным именем. |
Пример
Создадим текстовый файл example.txt и сохраним его в рабочей директории.

Следующий код используется для его открытия.
f = open('example.txt','r') # открыть файл из рабочей директории в режиме чтения fp = open('C:/xyz.txt','r') # открыть файл из любого каталога
В этом примере f — переменная-указатель на файл example.txt .
Следующий код используется для вывода содержимого файла и информации о нем.
>>> print(*f) # выводим содержимое файла This is a text file. >>> print(f) # выводим объект _io.TextIOWrapper name='example.txt' mode='r' encoding='cp1252'>
Стоит обратить внимание, что в Windows стандартной кодировкой является cp1252 , а в Linux — utf-08 .
Закрытие файла
Метод close()
После открытия файла в Python его нужно закрыть. Таким образом освобождаются ресурсы и убирается мусор. Python автоматически закрывает файл, когда объект присваивается другому файлу.
Существуют следующие способы:
Способ №1
Проще всего после открытия файла закрыть его, используя метод close() .
f = open('example.txt','r') # работа с файлом f.close()
После закрытия этот файл нельзя будет использовать до тех пор, пока заново его не открыть.
Способ №2
Также можно написать try/finally , которое гарантирует, что если после открытия файла операции с ним приводят к исключениям, он закроется автоматически.
Без него программа завершается некорректно.
Вот как сделать это исключение:
f = open('example.txt','r') try: # работа с файлом finally: f.close()
Файл нужно открыть до инструкции try , потому что если инструкция open сама по себе вызовет ошибку, то файл не будет открываться для последующего закрытия.
Этот метод гарантирует, что если операции над файлом вызовут исключения, то он закроется до того как программа остановится.
Способ №3
Инструкция with
Еще один подход — использовать инструкцию with , которая упрощает обработку исключений с помощью инкапсуляции начальных операций, а также задач по закрытию и очистке.
В таком случае инструкция close не нужна, потому что with автоматически закроет файл.
Вот как это реализовать в коде.
with open('example.txt') as f: # работа с файлом
Чтение и запись файлов в Python
В Python файлы можно читать или записывать информацию в них с помощью соответствующих режимов.
Функция read()
Функция read() используется для чтения содержимого файла после открытия его в режиме чтения ( r ).
Синтаксис
file.read(size)
- file = объект файла
- size = количество символов, которые нужно прочитать. Если не указать, то файл прочитается целиком.
Пример
>>> f = open('example.txt','r') >>> f.read(7) # чтение 7 символов из example.txt 'This is '
Интерпретатор прочитал 7 символов файла и если снова использовать функцию read() , то чтение начнется с 8-го символа.
>>> f.read(7) # чтение следующих 7 символов ' a text'
Функция readline()
Функция readline() используется для построчного чтения содержимого файла. Она используется для крупных файлов. С ее помощью можно получать доступ к любой строке в любой момент.
Пример
Создадим файл test.txt с нескольким строками:
This is line1. This is line2. This is line3.
Посмотрим, как функция readline() работает в test.txt .
>>> x = open('test.txt','r') >>> x.readline() # прочитать первую строку This is line1. >>> x.readline(2) # прочитать вторую строку This is line2. >>> x.readlines() # прочитать все строки ['This is line1.','This is line2.','This is line3.']
Обратите внимание, как в последнем случае строки отделены друг от друга.
Функция write()
Функция write() используется для записи в файлы Python, открытые в режиме записи.
Если пытаться открыть файл, которого не существует, в этом режиме, тогда будет создан новый.
Синтаксис
file.write(string)
Пример
Предположим, файла xyz.txt не существует. Он будет создан при попытке открыть его в режиме чтения.
>>> f = open('xyz.txt','w') # открытие в режиме записи >>> f.write('Hello \n World') # запись Hello World в файл Hello World >>> f.close() # закрытие файла
Переименование файлов в Python
Функция rename()
Функция rename() используется для переименовывания файлов в Python. Для ее использования сперва нужно импортировать модуль os.
import os os.rename(src,dest)
- src = файл, который нужно переименовать
- dest = новое имя файла
Пример
>>> import os >>> # переименование xyz.txt в abc.txt >>> os.rename("xyz.txt","abc.txt")
Текущая позиция в файлах Python
В Python возможно узнать текущую позицию в файле с помощью функции tell() . Таким же образом можно изменить текущую позицию командой seek() .
Пример
>>> f = open('example.txt') # example.txt, который мы создали ранее >>> f.read(4) # давайте сначала перейдем к 4-й позиции This >>> f.tell() # возвращает текущую позицию 4 >>> f.seek(0,0) # вернем положение на 0 снова
Методы файла в Python
| file.close() | закрывает открытый файл |
| file.fileno() | возвращает целочисленный дескриптор файла |
| file.flush() | очищает внутренний буфер |
| file.isatty() | возвращает True, если файл привязан к терминалу |
| file.next() | возвращает следующую строку файла |
| file.read(n) | чтение первых n символов файла |
| file.readline() | читает одну строчку строки или файла |
| file.readlines() | читает и возвращает список всех строк в файле |
| file.seek(offset[,whene]) | устанавливает текущую позицию в файле |
| file.seekable() | проверяет, поддерживает ли файл случайный доступ. Возвращает True , если да |
| file.tell() | возвращает текущую позицию в файле |
| file.truncate(n) | уменьшает размер файл. Если n указала, то файл обрезается до n байт, если нет — до текущей позиции |
| file.write(str) | добавляет строку str в файл |
| file.writelines(sequence) | добавляет последовательность строк в файл |
Как установить Python на компьютер и начать на нём писать
Воспользуйтесь Google Colab, онлайн-интерпретаторами или скачайте Python.

Виктория Дербенченко
Автор статьи
4 марта 2022 в 14:00
Язык программирования Python используют, чтобы решать разные задачи: в программных скриптах, веб-разработке, data science и машинном обучении. Еще на Python пишут игры, программы и мобильные приложения. Из статьи узнаете, как установить Python на Windows, MacOS и Linux.
Что такое интерпретатор
Интерпретатор Python — встроенная программа, которая выполняет исходный код. Интерпретатор выступает в роли дешифровщика. Написанный код переводится в байт-код и выполняется. Создавать код можно даже в блокноте, главное — поставить расширение .py.
Этому учат в первом модуле на курсе «Python-разработчик» в Skypro. Преподаватели — практикующие питонисты, которые помогут быстро разобраться в основах. Уже через месяц можно написать программу для расшифровки азбуки Морзе. А через 10 месяцев при поддержке центра карьеры — найти работу по новой профессии с высокой зарплатой.
Как выбрать версию
Python — это интерфейс. У него есть несколько реализаций: Jython, PyPy, IronPython. Но самая распространенная — CPython. Она считается версией «по умолчанию». Ее мы и будем рассматривать в дальнейшем.
Python-разработчик: новая работа через 9 месяцев
Получится, даже если у вас нет опыта в IT

Как установить Python
На Windows
- Скачайте официальные установочные файлы. Версии, которые начинаются с цифры «2», лучше не использовать. Python прекратил их поддержку в 2020 году.
- Запустите скачанный файл и выберите Install Now. Не забудьте поставить галочку в разделе Add Python 3.x to PATH. Эта функция нужна, чтобы не указывать интерпретатору маршрут к исходнику при каждом запуске.

- Если установка прошла успешно, в меню «Пуск» появится папка Python.

На MacOS
На большинстве MacOS Python входит в стандартный пакет программ. Некоторые системы поддерживают сразу две версии. Проверьте, есть ли Python в терминале, командой: python —version.
-
Чтобы установить Python, рекомендуется использовать менеджер программ Homebrew. Если его нет, откройте терминал и наберите:
xcode-select --install ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew install python3
На Linux
Многие сборки Linux также включают Python в свой стандартный пакет. Команды для установки Python на разных дистрибутивах Linux могут отличаться. Для Linux на основе Debian (Ubuntu) подойдет команда:
sudo apt-get install python3
А для Arch Linux:
pacman -S python3
Как проверить, работает ли программа
- Наберите в командной строке python или python3. Если вы всё выполнили правильно, увидите номер версии и список команд:
help, copyright, credits, license

Теперь введите переменную:
variable = 'Hello World!'/code>
print(variable)
«Hello World!».
11 января 18:00 МСК
Лучшие IT-профессии 2024 года: тренды, зарплаты, перспективы

Как запустить Python
Единственный способ узнать, работает ли код, — запустить его. Скрипты можно запускать по-разному.
В командной строке.Классический метод, чтобы написать код в Python, — с помощью текстовых файлов. По умолчанию они будут использовать расширение типа .py. Возьмите код из примера выше:
print('Hello World!')
И сохраните файл в текущем рабочем каталоге как hello.py. Чтобы запустить код, наберите python3 в командной строке, а затем укажите путь:
python3 hello.py

https://sky.pro/media/knigi-pro-python/
Этот режим используется, чтобы изучать язык, тестировать отдельные куски кода, запускать пару небольших команд (например, несколько bash-скриптов в цикле через Python) или как продвинутый калькулятор. В таком режиме введенный код выполняется сразу, построчно. Есть два способа, чтобы войти в этот режим.
- Если вы ставили галочку, когда устанавливали Python, чтобы добавить переменную среды, в терминале наберите python (или python3) и запустите по кнопке Enter. После увидите такую строку:
- Если переменная среды отсутствует, попробуйте прописать полный путь к программе. Вот пример такого пути: C:\Python30\python. Запустите (нажмите Enter).
Чтобы в интерактивном режиме воспользоваться одной из стандартных для Python библиотек, ее нужно импортировать. Для этого введите строку:
import [имя библиотеки].

На скрине: импорт runpy — стандартной библиотеки Python. Она позволяет запускать скрипты без их предварительного импорта.
-
В IDE или редакторе кода.IDE — это интегрированная среда разработки Python. Выглядит как текстовый редактор с функциями, в котором легче писать код. Например, тут есть встроенный компилятор, автозаполнение тегов. Большинство IDE позволяют запускать скрипт в один клик, поэтому такие редакторы часто используют при работе над крупными проектами. Один из популярных IDE — VS Code. В нём встроен терминал для запуска кода. Чтобы открыть его, зайдите в командную строку и создайте папку hello. Затем откройте ее в VS Code и выберите View → Terminal. Наберите python и попробуйте вывести простой код. Например:
print('Я учу Python')