2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




На страницу 1, 2, 3  След.
 
 Компилятор исполняет нужную команду, а файл - нет. Python
Сообщение04.07.2022, 12:41 
Здравствуйте! Я создал файл с расширением proga.py и с текстом

Используется синтаксис Python
with open('file_for_writing.txt','w') as tw:

    tw.write('Good attempt')

    f=open('file_for_writing.txt')

f.close()


Через компилятор создается нужный файл, когда просто жму по файлу proga.ру, ничего не происходит. Притом другие программы на питоне по клику сразу же исполняются нормально. Почему так получается? Извините, если криво рассказал, ибо плохо разбираюсь.

 
 
 
 Re: Компилятор исполняет нужную команду, а файл - нет. Python
Сообщение04.07.2022, 12:49 
Аватара пользователя
Возможно, блокирует антивирус?
У меня все работает.

 
 
 
 Re: Компилятор исполняет нужную команду, а файл - нет. Python
Сообщение04.07.2022, 13:03 
пианист в сообщении #1559250 писал(а):
Возможно, блокирует антивирус?
У меня все работает.

Отключил антивирус, все равно не работает..

 
 
 
 Re: Компилятор исполняет нужную команду, а файл - нет. Python
Сообщение04.07.2022, 13:18 
kot-obormot в сообщении #1559247 писал(а):
Притом другие программы на питоне по клику сразу же исполняются нормально
Надо в эту другую программу этот код поместить и посмотреть что будет.

 
 
 
 Re: Компилятор исполняет нужную команду, а файл - нет. Python
Сообщение04.07.2022, 13:38 
Аватара пользователя
Если запустить Ваш файл из командной строки, какой-то комментарий появляется?

 
 
 
 Re: Компилятор исполняет нужную команду, а файл - нет. Python
Сообщение04.07.2022, 14:03 
Аватара пользователя
kot-obormot в сообщении #1559247 писал(а):
когда просто жму по файлу proga.ру, ничего не происходит.


Похоже вы исполняетесь в среде с контролем доступа к ресурсам. Поэтому программа зависает на строке
kot-obormot в сообщении #1559247 писал(а):
f=open('file_for_writing.txt')

при попытке открыть файл, который открыт на запись.
Корректнее будет эту строку убрать, а строку f.close() заменить на tw.close()

Перед исполнением удалите, зависшие в операционке, предыдущие процессы или смените файлу имя.

 
 
 
 Re: Компилятор исполняет нужную команду, а файл - нет. Python
Сообщение04.07.2022, 14:35 
Аватара пользователя
StepV в сообщении #1559266 писал(а):
заменить на tw.close()

Ни в коем случае.

 
 
 
 Re: Компилятор исполняет нужную команду, а файл - нет. Python
Сообщение04.07.2022, 14:52 
пианист в сообщении #1559261 писал(а):
Если запустить Ваш файл из командной строки, какой-то комментарий появляется?

Спасибо. Пробовал запустить через командную строку, но безрезультатно, к сожалению. Просто файл "мигнет" черное окошко и все. Ровно также, если запускать напрямую
StepV в сообщении #1559266 писал(а):
Перед исполнением удалите, зависшие в операционке, предыдущие процессы или смените файлу имя.

Спасибо! Поменял имя файла, переместил файл в другое место, все равно, пока результата нет, к сожалению.

 
 
 
 Re: Компилятор исполняет нужную команду, а файл - нет. Python
Сообщение04.07.2022, 15:04 
Аватара пользователя
kot-obormot в сообщении #1559273 писал(а):
Просто файл "мигнет" черное окошко и все

Нет, я имел в виду - в консоли.
В винде win+R, написать cmd и нажать enter, в линуксе (вроде бы) ctrl+alt+f1.
В консоли зайти в директорию, где лежит Ваш файлик, и запустить команду proga.py

 
 
 
 Re: Компилятор исполняет нужную команду, а файл - нет. Python
Сообщение04.07.2022, 15:10 
Аватара пользователя
kot-obormot в сообщении #1559273 писал(а):
Спасибо! Поменял имя файла, переместил файл в другое место, все равно


Здесь вам нужно уточнить границы оператора with, т.к. в операторе f=open... у вас идет попытка открыть уже открытый файл.
Строку
kot-obormot в сообщении #1559247 писал(а):
f=open('file_for_writing.txt')

сместите влево, в начало строки, чтобы она не была в блоке. Должно все получиться.

 
 
 
 Re: Компилятор исполняет нужную команду, а файл - нет. Python
Сообщение04.07.2022, 16:40 
пианист в сообщении #1559274 писал(а):
Нет, я имел в виду - в консоли.
В винде win+R, написать cmd и нажать enter, в линуксе (вроде бы) ctrl+alt+f1.
В консоли зайти в директорию, где лежит Ваш файлик, и запустить команду proga.py

StepV в сообщении #1559277 писал(а):
сместите влево, в начало строки, чтобы она не была в блоке. Должно все получиться.


Не помогло, к сожалению.

На ютубе записал то, что происходит на 1 минуту без звука

https://www.youtube.com/watch?v=GaFxXZVrM0o

 
 
 
 Re: Компилятор исполняет нужную команду, а файл - нет. Python
Сообщение04.07.2022, 16:54 
open возвращает дескриптор файла

"open возвращает дескриптор файла, полученный Python-приложением от вашей операционной системы. Вам требуется вернуть дескриптор назад, после того как работа с файлом завершена, иначе вы можете упереться в ограничение на количество одновременно открытых дескрипторов.

Явно вызывая close вы закрываете дескриптор файла, но только при успешном чтении. При вызове Exception после f = open(...) f.close() не будет выполнен (в зависимости от интерпретатора Python дескриптор может быть возвращён, но это уже другая история)."

 
 
 
 Re: Компилятор исполняет нужную команду, а файл - нет. Python
Сообщение04.07.2022, 17:05 
upgrade в сообщении #1559289 писал(а):
open возвращает дескриптор файла

Вам требуется вернуть дескриптор назад, после того как работа с файлом завершена, иначе вы можете упереться в ограничение на количество одновременно открытых дескрипторов.


Спасибо. Я попробовал оставить только эти 2 строчки. Но результата по-прежнему нет. Может я что-то не так понял?

Используется синтаксис Python
with open('file_for_writing.py','w') as tw:

    tw.write('Good attempt')


При этом с этими 2 строчками встроенный компилятор в sublime text справился и создал нужный файл. Но запуск файла .py ничего не дает по-прежнему.

 
 
 
 Re: Компилятор исполняет нужную команду, а файл - нет. Python
Сообщение04.07.2022, 17:18 
kot-obormot
Может пробела не хватает: "t" в "tw" должно быть под "o" в "open"? Он текст в файл пишет или просто файл создает?

 
 
 
 Re: Компилятор исполняет нужную команду, а файл - нет. Python
Сообщение04.07.2022, 17:20 
Аватара пользователя
может вы его не там ищете? Пропишите полный путь, чтобы не было сомнений, где он откроется/сохранится

 
 
 [ Сообщений: 37 ]  На страницу 1, 2, 3  След.


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group