2
問題是我只能讀取InputFile.bak文件的第一行。我如何使用cPickle從文件中讀取所有信息。使用Python讀取文件中的數據cPickle
輸入文件InputFile.bak
(dp1
S'Here we go'
p2
(cdatetime
date
p3
(S'\x07\xdc\x0c\x0c'
tRp4
cdatetime
time
p5
(S'\x0c\x0c\x00\x00\x00\x00'
tRp6
tp7
s.(dp1
S'Here we go'
p2
(cdatetime
date
p3
(S'\x07\xdc\x0c\x0c'
tRp4
cdatetime
time
p5
(S'\x0c\x0c\x00\x00\x00\x00'
tRp6
tp7
s.(dp1
S'Here we go'
p2
(cdatetime
date
p3
(S'\x07\xdc\x0c\x0c'
tRp4
cdatetime
time
p5
(S'\x0c\x0c\x00\x00\x00\x00'
tRp6
tp7
sS'Google Searching'
p8
(g3
(S'\x07\xdc\x0c\x0b'
tRp9
g5
(S'\x01\x17\x00\x00\x00\x00'
tRp10
tp11
s.
源代碼
import time
import datetime
import cPickle
import os
from sys import exit
def read_file():
if os.path.exists('InputFile.bak'):
try:
fname = open('InputFile.bak', 'rb')
file_src = cPickle.Unpickler(fname)
item_name = file_src.load()
for k, v in item_name.iteritems():
print v[0], "\t", v[1],"\t", k
finally:
fname.close()
else:
item_name = {}
if __name__ == '__main__':
read_file()
非常感謝你。
我有以下錯誤 回溯(最近呼叫最後): 文件「ReadFromFile.py」,第9行,在 item_name = cPickle.load(fname) cPickle.UnpicklingError:無效加載密鑰' '。 –
J4cK
但我可以跑。我更新所有代碼以讓您嘗試。 –
哦...我知道。因爲你的'InputFile.bak'在第一行有一個空格。刪除它們。 –