2011-08-11 17 views
5

,TypeError: tampon arayüzü benim orijinal kodundan sonrası

crystal = open('vmises.dat','r') 
crystalincrement = pickle.load(crystal) 
crystaldir = pickle.load(crystal) 
crystalface = pickle.load(crystal) 
crystal.close() 

Hata olduğunu

crystalincrement = pickle.load(crystal) 

TypeError desteklemez 'str': 'str' tampon arayüzünü desteklemez

i pickle modülü, wH turşu nesne yükler piton v 3.2

cevap

5

Sorunun asıl mesajını aldıktan sonra düzenlenmiş ve kabul edilmiş. güncellenmiş sorunun cevabı ikili modda dosyayı açmaktır: Orijinal, düzenleme öncesi soruya

crystal = open('vmises.dat', 'rb') 

Cevap:

Eh, data bir dizedir. Üzerinde çalışmanız gereken nesne a.

a = open('data.txt','r') 
b = pickle.load(a) 
c = pickle.load(a) 
d = pickle.load(a) 
a.close() 

pickle bilgi için Python Wiki veya Python for Kids bakın.

+9

Çocuklar için Python? Ahh. –

+4

Birisi dokümanlarla ilgili sorun yaşıyorsa, malzemeleri tanımlamak için aynı dili kullanan başka bir yere yönlendirmeye yardımcı olmaz. Onları farklı bir şekilde anlatacak bir yere işaret etmelisin. – agf

+2

Sanırım bu noktada dürüst olmalıyız ve sadece bir arama motoru hizmeti olduğumuzu kabul etmeliyiz. –

0

kullanımı ich bir Python nesnesinin serileştirilmiş bir sürümüdür. Bu kod, programınıza serileştirilmiş bir veri seti yüklemeye çalışıyor. Burada bu modülü hakkında daha fazla bilgi edinebilirsiniz: http://docs.python.org/library/pickle.html

Bilmiyorum değişken data tanımladığınız, ama muhtemelen turşu alır bir dosyaya işaretçiyi olan değişken a gelen yüklemek istediğiniz veya bu değişkeni data olarak yeniden adlandırın.

data = open('data.txt','r') 
b = pickle.load(data) 
c = pickle.load(data) 
d = pickle.load(data) 
data.close() 
+0

harika hızlı yanıt! üzgün yazım hatası, düzenledim. – coolcing

+0

Artık, bulunmayan bir nesnede '.close()' ı çağırmaya çalışıyorsunuz. Hangi satır, Python'un hangi sürümünde bir yığın izine sahip olduğunu özellikle atar? Bu yardımcı olacak tüm bilgiler. –

15

Gerçek cevap, pencerede ikili modda dosya açılmalıdır. open ('data.txt', 'rb')

İlgili konular