2014 dxdy logo

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

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




Начать новую тему Ответить на тему На страницу 1, 2, 3  След.
 
 Компилятор исполняет нужную команду, а файл - нет. Python
Сообщение04.07.2022, 12:41 


27/09/19
189
Здравствуйте! Я создал файл с расширением 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 
Заслуженный участник
Аватара пользователя


03/06/08
2147
МО
Возможно, блокирует антивирус?
У меня все работает.

 Профиль  
                  
 
 Re: Компилятор исполняет нужную команду, а файл - нет. Python
Сообщение04.07.2022, 13:03 


27/09/19
189
пианист в сообщении #1559250 писал(а):
Возможно, блокирует антивирус?
У меня все работает.

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

 Профиль  
                  
 
 Re: Компилятор исполняет нужную команду, а файл - нет. Python
Сообщение04.07.2022, 13:18 


07/08/14
4231
kot-obormot в сообщении #1559247 писал(а):
Притом другие программы на питоне по клику сразу же исполняются нормально
Надо в эту другую программу этот код поместить и посмотреть что будет.

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


03/06/08
2147
МО
Если запустить Ваш файл из командной строки, какой-то комментарий появляется?

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


23/05/20
336
Беларусь
kot-obormot в сообщении #1559247 писал(а):
когда просто жму по файлу proga.ру, ничего не происходит.


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

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

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

 Профиль  
                  
 
 Re: Компилятор исполняет нужную команду, а файл - нет. Python
Сообщение04.07.2022, 14:35 
Заслуженный участник
Аватара пользователя


01/09/13
4318
StepV в сообщении #1559266 писал(а):
заменить на tw.close()

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

 Профиль  
                  
 
 Re: Компилятор исполняет нужную команду, а файл - нет. Python
Сообщение04.07.2022, 14:52 


27/09/19
189
пианист в сообщении #1559261 писал(а):
Если запустить Ваш файл из командной строки, какой-то комментарий появляется?

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

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

 Профиль  
                  
 
 Re: Компилятор исполняет нужную команду, а файл - нет. Python
Сообщение04.07.2022, 15:04 
Заслуженный участник
Аватара пользователя


03/06/08
2147
МО
kot-obormot в сообщении #1559273 писал(а):
Просто файл "мигнет" черное окошко и все

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

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


23/05/20
336
Беларусь
kot-obormot в сообщении #1559273 писал(а):
Спасибо! Поменял имя файла, переместил файл в другое место, все равно


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

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

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


27/09/19
189
пианист в сообщении #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 


07/08/14
4231
open возвращает дескриптор файла

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

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

 Профиль  
                  
 
 Re: Компилятор исполняет нужную команду, а файл - нет. Python
Сообщение04.07.2022, 17:05 


27/09/19
189
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 


07/08/14
4231
kot-obormot
Может пробела не хватает: "t" в "tw" должно быть под "o" в "open"? Он текст в файл пишет или просто файл создает?

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


23/12/05
12046
может вы его не там ищете? Пропишите полный путь, чтобы не было сомнений, где он откроется/сохранится

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 37 ]  На страницу 1, 2, 3  След.

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group