TypeError: must be unicode, not str

Python’da io kütüphanesi kullanılarak “encoding=’utf-8′” formatında açtığınız dosyaya veri yazar iken string formatı veri yazamazsınız veriyi unicode formatında olmak zorunda bu dönüşümü iki şekilde yapabilirsiniz;

io.open(‘/’.join([dirname, ‘alldata-id.txt’]), ‘w’, encoding=’utf-8′)

1)
with io.open(‘/’.join([dirname, ‘alldata-id.txt’]), ‘w’, encoding=’utf-8′) as f:
for idx, line in enumerate(alldata.splitlines()):
num_line = u”_*{0} {1}\n”.format(idx, line)
f.write(num_line)

2)
with io.open(‘/’.join([dirname, ‘alldata-id.txt’]), ‘w’, encoding=’utf-8′) as f:
for idx, line in enumerate(alldata.splitlines()):
num_line = “_*{0} {1}\n”.format(idx, line)
f.write(unicode(num_line, encoding=”utf-8″))

Semiha Makinist Uzman on 2 Aralık 2016 yazdı
Yorum Ekle
  • 0 Yanıt(lar)
  • Yanıtınız

    Cevabınızı göndererek Gizlilik Politikası ve Hizmet Şartlarını kabul ediyorsunuz.