をサポートしていません、私は答えをスタックオーバーフローに見てきたが、私の問題はdict
ではないのに対し、それらはすべて、str
またはlist
またはint
バッファインタフェースによってサポートされていないように見えますサポートされています。私は何をすべきか?辞書を.binバイナリファイルにコピーできませんか?ソリューションが複雑な場合(またはモジュールを含む場合)、プログラミングに慣れていないので何をすべきか説明してください。はTypeError:「辞書」はバッファインターフェイス
外部モジュール(numPy
またはsciPy
)を使用することはできません。モジュールをインストールする権限がない作業用コンピュータにあります。私は標準ライブラリを使ってこれに修正があると信じています、私はそれが何であるか分かりません。私はあなたがそのようなファイル上の辞書を書き込むことはできませんPythonの3.4
#my code
def writeBinary():
myFile = open('books.bin','wb') #open binary file
book = {'Title': ' ', #create empty dictionary with keys and no values
'ISBN': ' ',
'Price': ' ',
'Year Of Publication': ' '}
end = False
while end != True:
option = input("Enter 'Y' to enter book details, or 'N' to quit: ")
if option == 'Y':
title = input("Enter the title of the book: ") #input data
book['Title'] = title #assign input data to dictionary keys
ISBN = input("Enter the ISBN of the book: ")
book['ISBN'] = ISBN
price = float(input("Enter the price of the book: £"))
book['Price'] = price
yearOfPublication = int(input("Enter the books year of publication: "))
book['Year Of Publication'] = yearOfPublication
myFile.write(book) #write dictionary to binary file
print(book) #to see the current contents of the dictionary
elif option == 'N':
print("Input terminated.")
end = True
else:
print("Invalid input. Please try again.")
myFile.close() #close binary file
writeBinary()
pickleまたはjsonを使用して辞書をシリアル化する必要があります。 –
^^私があなたが削除した質問についてあなたに既に言ったように。文脈がなければ、他に何を期待していますか?これはコード作成サービスではありません。関連するモジュールを読んで、少なくとも*試してみてください。 – jonrsharpe
はい、私はそれを編集できないので、質問を削除しました。今回私はより多くの情報を提供しました。上記のコードの大部分は既に書かれています。 Pythonのdocs、pickleとjsonのドキュメント、codeacademyを含むサイトなど、ネットを検索している最後の数時間を過ごした後、私の質問が続きます。私は同僚に電話してもらえましたが、彼の本能的な返事はオーバーフローして質問を投稿することでした...私はここで再びやりました。ここの技術者が私を助けてくれることを願っています。方向は単純なリンク – Arbiter