2016-09-15 4 views
1

ファイルを空のリストと一緒に複数回読み込む必要があります。 は、最初に私が試した:空のリストを含むファイルを複数回ロードすることができません

import pickle 
file_example = open("file.cpk","wb") 
empty_list = [] 
pickle.dump(empty_list,file_example) 
file_example.close() 

def file_open(): 
    file_open.file = open("file.pck","rb") 
    file_open.empty_list = pickle.load(file_open.file) 
    file_open.empty_list = pickle.load(file_open.file) 
    file_open() 
file_open() 

が、それは言った、「入力の使い果たしました」。私は複数回同じファイルをロードするために.seek使用する必要があることがわかったので、私はこれをしなかった:

import pickle 
file_example = open("file.cpk","wb") 
empty_list = [] 
pickle.dump(empty_list,file_example) 
file_example.close() 

def file_open(): 
    file_open.file = open("file.pck","rb") 
    file_open.empty_list = pickle.load(file_open.file) 
    file_open.empty_list.seek(0) 
    file_open.empty_list = pickle.load(file_open.file) 
file_open() 

そして今は「『リスト』オブジェクトが属性 『追求』を持っていない」と言います。そのファイルを複数回読み込むにはどうすればよいですか?

+0

あなたは 'リストにseek'メソッドを呼び出しています。代わりにファイルオブジェクトで呼び出してください(あなたのケースでは 'file_open.file.seek(0)') –

+0

それは動作します、ありがとう! –

答えて

1

あなたはファイルオブジェクトに求める呼び出す必要があります:

import pickle 
file_example = open("file.pck","wb") 
empty_list = [] 
pickle.dump(empty_list,file_example) 
file_example.close() 

def file_open(): 
    file_open.file = open("file.pck","rb") 
    file_open.empty_list = pickle.load(file_open.file) 
    file_open.file.seek(0) 
    file_open.empty_list = pickle.load(file_open.file) 
file_open() 
+0

これは問題です!ありがとうございました! –

関連する問題