Hier ist mein Code:Typeerror: sequence Artikel 12: Geplanter str Beispiel gefunden NoneType
import re
with open('newfiles.txt') as f:
s = f.read()
uniquelist = []
error = re.findall(r"[\w]+|[^\s\w]", (s))
for word in error:
if word not in uniquelist:
uniquelist.append(word)
print ("Here are the words in their first appearing index form: ")
my_indexes = ' '.join(str(uniquelist.index(word)+1) for word in error)
print (my_indexes)
file = open("newfiletwo.txt","w")
file.write (' '.join(str(my_indexes)))
file.close()
file = open("newfilethree.txt","w")
file.write(' '.join(uniquelist))
file.close()
word_base = None
with open('newfilethree.txt', 'rt') as f_base:
word_base = [None] + [z.strip() for z in f_base.read().split()]
sentence_seq = None
with open('newfiletwo.txt', 'rt') as f_select:
sentence_seq = [word_base[int(i)] for i in f_select.read().split()]
print(my_indexes)
print(' '.join(sentence_seq))
Es dauert eine Textdatei und gibt die Positionen (Indizes) der Wörter und Interpunktion innerhalb dieser Gruppe. Wenn sich etwas wiederholt, wird der erste gefundene Positionsindex angegeben. So, es druckt die Indizes aus. Zweitens versuche ich nach dem Speichern der getrennten einzelnen Wörter als Datei und der Liste der Indizes, den Text mit ihnen neu zu erstellen. Die endgültige Ausgabe sollte also der ursprüngliche Satz mit Interpunktion selbst sein. Aber leider, wenn das Programm läuft durch die letzte Zeile des Codes ich diese Fehlermeldung erhalten:
Traceback (most recent call last):
File "E:\Python\Final.py", line 26, in <module>
print(' '.join(sentence_seq))
TypeError: sequence item 12: expected str instance, NoneType found
Weiß jemand, was das Problem ist?
Nun, 'sentence_seq [12]' 'ist None' ... – thebjorn
@thebjorn Was meinst du ?, ich als Ganzes – tpullemku
' word_base zu python ganz neu bin [0] 'ist' Keine. Wenn eines der Elemente von 'f_select.read(). Split()' '0' ist, wird 'None' in dieses Element von' sentence_seq' gesetzt. Aber 'join()' erwartet, dass alle Listenelemente Strings sind. – Barmar