Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 21, 2016 10:41:35

Franek
От: Беларусь
Зарегистрирован: 2016-05-09
Сообщения: 66
Репутация: +  0  -
Профиль   Отправить e-mail  

Kак в python открыть файл bck?

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

Офлайн

#2 Дек. 21, 2016 11:04:47

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Kак в python открыть файл bck?

А в чем проблема то?



Офлайн

#3 Дек. 21, 2016 11:29:15

Franek
От: Беларусь
Зарегистрирован: 2016-05-09
Сообщения: 66
Репутация: +  0  -
Профиль   Отправить e-mail  

Kак в python открыть файл bck?

FishHookПрочитать не получилось.

 my_file = open("list.bck", 'r', encoding='utf-8')
my_string = my_file.read()
print(my_string)
my_file.close()
Выдаёт ошибку:
 C:\Python\python.exe "E:/PYTHON/My programs/Read text.py"
Traceback (most recent call last):
  File "E:/PYTHON/My programs/Read text.py", line 2, in <module>
    my_string = my_file.read()
  File "C:\Python\lib\codecs.py", line 321, in decode
    (result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe6 in position 98: invalid continuation byte 
При помощи встроенной библиотеки sqlite не получилось, т. к. пока в ней не разобрался. Не знаю какой аргумент должен быть у оператора execute :
 from sqlite3 import connect
conn = connect("list.bck")
c = conn.cursor()
result = c.execute()
c.fetchall()

Отредактировано Franek (Дек. 21, 2016 11:31:12)

Офлайн

#4 Дек. 21, 2016 11:37:27

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Kак в python открыть файл bck?

Файл не в кодировке utf-8
Если этот файл, как вы заверяли, обычной текстовой, то зачем вы его пытались открыть через sqlite3? Это же БД

Вы как то не с того зашли. Что такое файл *.bck ? Действительно ли он текстовой?



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#5 Дек. 21, 2016 12:12:51

Franek
От: Беларусь
Зарегистрирован: 2016-05-09
Сообщения: 66
Репутация: +  0  -
Профиль   Отправить e-mail  

Kак в python открыть файл bck?

JOHN_16
В этом файле сохраняются слова приложением для андроид: https://play.google.com/store/apps/details?id=com.swotwords.lite
Автор приложения написал, что это файл базы SQLite.

Офлайн

#6 Дек. 21, 2016 13:41:40

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2627
Репутация: +  61  -
Профиль   Отправить e-mail  

Kак в python открыть файл bck?

Приложите файл или его часть



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

#7 Дек. 21, 2016 13:50:12

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Kак в python открыть файл bck?

Franek
что это файл базы SQLite.
Но файл БД SQLite вообще нифига не текстовый.
https://habrahabr.ru/post/223449/, вам его либо побайтово надо читать либо вы вообще не то делаете, потому что прочтение файла без знания его структуры вам ничего не даст.



Офлайн

#8 Дек. 21, 2016 13:53:17

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Kак в python открыть файл bck?

Franek
Если это SQLite база - то ее откроет любое специализированное приложение редактора БД. Я пользуюсь приложением для FireFox SQLite Manager - вам подобное может пригодиться. Легко ищется.
У меня в блоге (ссыка нже) есть статья на русском про SQLite - вам также может пригодиться



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#9 Дек. 21, 2016 16:22:11

Franek
От: Беларусь
Зарегистрирован: 2016-05-09
Сообщения: 66
Репутация: +  0  -
Профиль   Отправить e-mail  

Kак в python открыть файл bck?

JOHN_16
FishHook
Спасибо. Открыл файл в проге SQLite Manager (для ПК). Работает:

 from sqlite3 import connect
con = connect("list.bck")
c = con.cursor()
c.execute("select name, translation from Word")
for i in c.fetchall():
    print(i)
Учу английские слова в приложении (по карточкам) и хочется чтобы список слов на всякий случай можно было сохранить в текстовом виде. Или может сделаю свою прогу для заучивания слов с этой БД если в приложении окажутся какие-нибудь ограничения.

Прикреплённый файлы:
attachment list.bck (44,0 KБ)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version