python 3 ne peut pas concat octets de str pour une liste

J'ai suivantes morceau de code que j'essaie de l'exécuter

import json
import textProcess as tp
review = open('../inres_review.json')
vocabulary = open('../vocabulary.txt','w+')
label = open('../label.txt','w+')
data = open('../data.txt','w+')
voc = []
revs = []
lab = []
dat = []
i=1
for line in review:
jre = json.loads(line)
jstar = jre['stars']  
text = jre['text']  
lab.append(jstar)
ws = tp.removeStopPunc(text)
revs.append(ws)
voc += ws
i += 1
for i in lab:
label.write(str(i)+"\n")
print ("label created successfully!")
voc = list(set(voc))
print (len(voc))
print (type(i))
for i in voc:
vocabulary.write(i.encode('UTF-8')+"\n")
print ("Vocabulary created successfully!")
for revid, rev in enumerate(revs):
dat.append({})
for w in rev:
if w in voca:
k = voca.index(w)+1
if k not in dat[revid]:
dat[revid][k] = 1
else:
dat[revid][k] += 1
print (len(revs))
for revid, rev in enumerate(dat):
for k,v in rev.iteritems():
s = str(revid+1)+' '+str(k)+' '+str(v)+'\n'
data.write(s)
print ("successfully create data")
review.close()
vocabulary.close()
label.close()
data.close()

Toutefois, peu importe ce que je change je mettre en œuvre, j'obtiens l'erreur suivante. Quelqu'un peut s'il vous plaît signaler ce qui ne va pas ici?

TypeError                                 Traceback (most recent call last)
<ipython-input-18-21a3dc9eb8ad> in <module>()
33 print (type(i))
34 for i in bvoca:
---> 35         vocabulary.write(i.encode('UTF-8')+"\n")
36 print ("successfully create vocabulary!")
37 
TypeError: can't concat bytes to str

Toute aide est très appréciée!

  • Les questions ci-dessus ont été corrigés.. Mais quand je lance mon code ressemble le dernier bloc de code n'est pas exécuté parce que mon data.txt le fichier est vide, aussi la sortie n'a pas print len(régime) et "créé avec succès des données". Toute idée de ce que cela pourrait être?
InformationsquelleAutor Nidhi Sirohi | 2016-11-22