Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 20.08.2017
Сообщений: 7
1

Доступ к файлу после with open (3.6, win7)

13.06.2018, 23:27. Показов 584. Ответов 3
Метки нет (Все метки)

Здравствуйте, столкнулся с проблемой (python 3.6.2, win7). После чтения файла
Python
1
2
with open('file.txt', 'rb') as f:
   s = f.readline()
файл становится заблокированным для записи пока не завершится выполнение всего скрипта. Перезаписать файл невозможно ни из других приложений (notеpad и т.п.), ни из самого скипта (возвращает ошибку "Invalid FileName" при попытке открыть файл с атрибутами 'w' или 'wb')
Если закрывать файл самостоятельно
Python
1
2
3
f = open('file.txt', 'r')
s = f.readline()
f.close()
то все работает как надо, файл не блокируется. Проблема в том, что в модулях типа xlrd файл открывается через with open и нет возможности использовать второй вариант.

Проверил на Ubuntu в python 2.7 и в python 3.5.2 таких проблем не возникло, gedit успешно перезаписывает файл, пока выполняется скрипт.
Подскажите, где искать решение проблемы?
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.06.2018, 23:27
Ответы с готовыми решениями:

Не работает доступ к БД после удаленного подключения к xml файлу
есть простенькая фнкция Private Sub SaveTestXml() 'Dim fileName As String =...

После запуска всплывает окно: Невозможно получить доступ к файлу
после запуска всплывает окно: Невозможно получить доступ к файлу.Укажите другой путь.Произошла...

Как освоодить доступ к файлу после загрузки его в Image?
Ситуация такая - загружаю джипег в Image ( Image i = Bitmap.FromFile(name) ). После этого нужно...

После установки win7 вместо win XP доступ к файлам находящимся в папке мои документы, ограничен
Здравствуйте, у меня сложилась следущая ситуация: на компьютере была установлена winXp там имелся...

3
Автоматизируй это!
Эксперт Python
4835 / 3346 / 961
Регистрация: 30.03.2015
Сообщений: 10,415
Записей в блоге: 28
14.06.2018, 12:06 2
peterwinter, питон 3.6.5 винда 10, все нормально, может ты из блока with не выходишь?
и что мешает сделать f.close() в блоке with ?
0
0 / 0 / 0
Регистрация: 20.08.2017
Сообщений: 7
15.06.2018, 08:56  [ТС] 3
Welemir1, действительно, проверил на простых примерах - проблем не возникает. Еще раз внимательно посмотрел и понял, что дело не в with, а доступ блокирует xlrd ( т.к. открывал файл с аргументом on_demand == true)
Python
1
book = xlrd.open_workbook('file.xls', on_demand = True)
Проблема решена. Тему можно удалить
0
Автоматизируй это!
Эксперт Python
4835 / 3346 / 961
Регистрация: 30.03.2015
Сообщений: 10,415
Записей в блоге: 28
15.06.2018, 09:14 4
Цитата Сообщение от peterwinter Посмотреть сообщение
Тему можно удалить
темы тут не удаляют, чтобы тот, кто наступит на твои грабли нашел решение
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.06.2018, 09:14

После переустановки Win7 нет доступа к основному разделу HDD, хотя к нему разрешен общий доступ
Если войти под именем Администратор, то все нормально. Такого раньше никогда не было. Есть...

Ошибка "Процесс не может получить доступ к файлу" после отправки письма
Здравствуйте! (Вопрос уже был задан, но промахнулась с темой) Следующий вопрос: Отправляю...

Есть три компа 2 с win7 и 1 c winXP. Лично у меня стоит win7. Проблема в том что пропал общий доступ , не могу подключиться на другие компьютеры
Чтобы не мусорить , задам вопрос здесь. Есть три компа 2 с win7 и 1 c winXP. Лично у меня стоит...

После переустановки win7 basic на win7 ultimate получается ставить только упрощенный стиль
купил компьютер, там была виндовс basic, я хотел переустановить на win7 ultimate, установил но...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.