我认为这必须是一个sqlite版本的问题,但我不确定如何诊断它。我正在使用Python 2.7.1。
如果我使用sqlite控制台,我可以阅读我的消息:
C:\>sqlite3 -version
3.7.10 2012-01-16 13:28:40 ebd01a8deffb5024a5d7494eef800d2366d97204
C:\>sqlite3 "c:\Users\wrightm\AppData\Roaming\Apple Computer\MobileSync\Backup\59aeac0d1993f5088fccb52978016c9fa9d5eae2\3d0d7e5fb2ce288813306e4d4636395e047a3d28" "select count(*) from message;"
5722
但是,python 2.7不能。我假设IPhone sms备份的db版本是错误的,但我如何确定该版本?
C:\>python -c "import sqlite3;print sqlite3.sqlite_version"
3.6.21
C:\>python -c "import sqlite3;sqlite3.connect(r'c:\Users\wrightm\AppData\Roaming\Apple Computer\MobileSync\Backup\59aeac0d1993f5088fccb52978016c9fa9d5eae2\3d0d7e5fb2ce28881330').execute('select count(*) from message;').fetchall()"
Traceback (most recent call last):
File "<string>", line 1, in <module>
sqlite3.OperationalError: no such table: message
答案 0 :(得分:0)
第一个版本中的路径:
c:\ Users \ wrightm \ AppData \ Roaming \ Apple Computer \ MobileSync \ Backup \ 59aeac0d1993f5088fccb52978016c9fa9d5eae2 \ 3d0d7e5fb2ce28881330 6e4d4636395e047a3d28
第二版中的路径:
c:\ Users \ wrightm \ AppData \ Roaming \ Apple Computer \ MobileSync \ Backup \ 59aeac0d1993f5088fccb52978016c9fa9d5eae2 \ 3d0d7e5fb2ce28881330
看起来你错过了第二个文件名中的一些字符。