는 내가 대답을 스택 오버 플로우에보고했지만, 내 문제가 dict
하지로 반면 그들은 모두, 버퍼 인터페이스를 지원하지 str
또는 list
또는 int
을 것 같다 버퍼 인터페이스를 지원하지 않습니다 지원됩니다. 어떻게해야합니까? 사전을 .bin 바이너리 파일에 복사 할 수 있습니까? 솔루션이 복잡하다면 (또는 모듈을 포함하고 있다면) 프로그래밍을 처음 접했을 때 무엇을해야하는지 설명해 주시겠습니까?형식 오류 : 'DICT'
모듈을 설치할 권한이없는 업무용 컴퓨터에 외부 모듈 (예 : numPy
또는 sciPy
)을 사용할 수 없습니다. 표준 라이브러리를 사용하여이 문제를 해결했다고 믿습니다. 나는 그것이 무엇인지 알지 못합니다. 난 당신이 그런 파일에 사전을 쓸 수 없습니다 파이썬 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을 사용하여 사전을 serialize해야합니다. –
^^ 이미 삭제 한 질문에 대해 말씀 드렸듯이. 컨텍스트가 없으면 무엇을 기대합니까? 이것은 코드 작성 서비스가 아닙니다. 관련 모듈을 읽고 최소한 * 시도해보십시오. – jonrsharpe
예, 질문을 삭제 했으므로 편집하지 못했습니다. 이번에는 더 많은 정보를 제공했습니다. 위에 표시된 코드의 대부분은 이미 작성되었습니다. 지난 몇 시간 동안 Python 문서, Pickle 및 Json 문서, CodeCademy를 비롯한 사이트를 검색 한 후 내 질문이 나왔습니다. 나는 심지어 동료에게 전화를했고 우스운 이야기를했다. 그의 본능적 인 대답은 오버플로를 쌓아서 질문을 게시하는 것이었다. 나는 여기에서 기술적 인 마음이 나를 도울 수 있기를 바랬다. 방향은 간단한 링크 – Arbiter