Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 20, 2021 21:05:07

Uxy
Зарегистрирован: 2021-04-20
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Текущий-Предыдущий файл

Всем привет. Нужна помощь в работе с файлами.
Допустим кейс такой:
1. Мне передается файл
2. Я открываю текущий файл
3. Читаю данные и беру нужные значения
4.Сверяю значения с значениями из предыдущего файла
4.1 Если предыдущего нет, создаю его(внутри пустой список)
4.1.1 Сверяю значения из текущего с предыдущим
4.1.2 Предыдущий = Текущий
4.1.3 Вывожу кол-во новых добавлений
4.2 Если предыдущий есть.
4.2.1 Сверяю значения из текущего с предыдущими
4.2.2 Предыдущий = Текущий
4.2.3 Вывожу кол-во новых добавлений
Так вот, на первом этапе у меня всегда один файл(текущий), но в последующих итерациях будут использоваться предыдущий и текущий. Завис именно на пункте 4.1, как создать пустой файл и не напороться "FileNotFoundError: No such file or directory:", если он не найден в искомом месте?

Отредактировано Uxy (Апрель 20, 2021 21:08:33)

Офлайн

#2 Апрель 20, 2021 22:19:55

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Текущий-Предыдущий файл

Если не нравится FileNotFoundError Почему не проверить существование и не делать того чего нельзя делать если файла нет?

 if os,path.exists("oldfile"):
   ....
else:
   ....



Офлайн

#3 Апрель 21, 2021 00:03:02

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9874
Репутация: +  854  -
Профиль   Отправить e-mail  

Текущий-Предыдущий файл

  
>>> import os
>>> 
>>> def f():
...     if os.path.exists('file.txt'):
...         print('I see the file')
...     else:
...         print('I create the file')
...         with open('file.txt', 'w', encoding='utf-8') as fin:
...             print('hello', file=fin)
... 
>>> f()
I create the file
>>> f()
I see the file
>>> f()
I see the file
>>> os.remove('file.txt')
>>> f()
I create the file
>>> f()
I see the file
>>> f()
I see the file
>>>



Офлайн

#4 Апрель 21, 2021 20:36:16

Uxy
Зарегистрирован: 2021-04-20
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Текущий-Предыдущий файл

doza_and
py.user.next
Спасибо большое, вы лучшие!!! С модулем os не был знаком, буду изучать

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version