1
wally=pickle.load(open("The Wall.txt","rb"))
usernamey=pickle.load(open("username1.txt","rb"))
wu=("\n", wally, "\n", usernamey, "\n")
apost=input("Enter your post below: \n")
pwickle=pickle.dump(wu, apost, open("The Wall.txt","wb"))

これが機能しない理由がわからない、エラーメッセージが表示されます:

pwickle=pickle.dump(wu, apost, open("The Wall.txt","wb"))

TypeError: an integer is required
4

2 に答える 2

4

unutbuが指摘したように、3番目の引数はプロトコルです。ピクルスにするすべてのオブジェクトを次のようなタプルにグループ化する必要があります。

pwickle=pickle.dump((wu, apost), open("The Wall.txt","wb"))

大量のデータを取得する必要がある場合はshelve、辞書のように動作するモジュールを使用できます。

ちなみに、pickleが作成するファイルはバイナリであるため(または、少なくとも人間が読める形式ではなく、プロトコルによって異なります)、名前を付けません.txt.db.pickleまたはそのようなものが良いでしょう。

于 2012-10-13T17:57:33.107 に答える
1

3番目の引数は、プロトコルを指定します。これは、0、1、または2の整数である必要があります。

于 2012-10-13T17:50:55.840 に答える