Ich lese eine Textdatei. Und der Inhalt, ich entfernte Interpunktionszeichen, änderte alles in Kleinbuchstaben und schließlich druckte ich jedes Wort in einer neuen Zeile. Aber das Problem, das ich jetzt habe, ist das Sortieren dieser Inhalte alphabetisch, die ich danach in einer neuen Textdatei speichern soll. Im Moment kann ich die (sort-Methode) nicht verwenden, jedes Mal, wenn ich den .method-accessifier eintippe, geht es mir nicht wie bei der sort-Methode. SO meine Frage ist, nach den früheren Textmanipulationen, die ich getan habe, wie oben gesagt, wie sortiere ich sie alphabetisch?Inhalt in Textdatei mit Python sortieren
punctuations = '''!()-[]{};:'"\,<>./[email protected]#$%^&*_~'''
no_punct = ""
#Open file
file = "research.txt"
f = open(file , 'r+')
#read file
contentOfFile = f.read()
#Remove punctuations from file content
for char in contentOfFile:
if char not in punctuations:
no_punct = (no_punct + char)
#print "Output of formatted document is"
for word in no_punct.lower().split():
print word
Mit der obigen und nachfolgenden Hilfe, die ich bekam, konnte ich endlich Meilensteine erreichen. Aber ich habe bemerkt, wenn ich auf der Konsole drucke, druckt es gut, aber wenn ich versuche, eine neue Datei zu erstellen und Wörter so zu speichern, wie es auf der Konsole erscheint, werden die Wörter nicht formatiert, wenn sie in einer neuen Datei gespeichert werden. Stattdessen werden alle Wörter in einer langen geraden Linie gespeichert. Nachdem ich eine neue Textdatei namens "newFile.txt" erstellt habe, habe ich nf.write (word) hinzugefügt. Ich dachte, das würde automatisch jeden Text TextFile formatiert und jeder neue Zeile hinzufügen. Ist das falsch? Vielen Dank.
punctuations = '''!()-[]{};:'"\,<>./[email protected]#$%^&*_~'''
no_punct = ""
#Open file
file = "research.txt"
f = open(file , 'r+')
#read file
contentOfFile = f.read()
#Remove punctuations from file content
for char in contentOfFile:
if char not in punctuations:
no_punct = (no_punct + char)
#create new file to save formatted words to
newFile = "newFile.txt"
nf = open(newFile , 'w+')
#write words to the new textFile
for word in sorted(no_punct.lower().split()):
nf.write(word)
#print word
@ZdaR, was meinst du mit 'sort (list)'? Es gibt keine eingebaute Funktion "sort". –
Möchten Sie jedes einzelne Wort oder jede Zeile alphabetisch sortieren? –
Danke für die Antwort. Entschuldigung, ich war nicht sehr klar in meiner Erklärung. Obwohl meine Frage von @pschill beantwortet wurde – user3761841