Während des Studiums der Verarbeitung natürlicher Sprache habe ich eine Textdatei der Wortliste erstellt, aber es war schwierig, den Inhalt zu überprüfen, da er groß war. Ob das Wort, das ich entsprechend ausgewählt habe, in der Wortliste enthalten ist Ich wollte bestätigen können.
Ich habe auf [diesen Artikel in Yukuns Blog] verwiesen (http://www.yukun.info/blog/2008/07/python-command-line-arguments.html).
Es scheint, dass Befehlszeilenargumente im argv-Attribut des sys-Moduls gespeichert sind.
contain_or_not.py
import sys
r0 = open('vocab.txt','r') #Datei im Lesemodus öffnen
vocab = r0.readlines() #vocab.txt enthält Wörter, die durch Zeilenumbrüche getrennt sind
r0.close()
argvs = sys.argv
words = argvs[1:] #argvs[0]Enthält den Dateinamen zur Laufzeit
for word in words:
if word in vocab:
print(word + ' is in vocab.')
else:
print(word + ' is not in vocab.')
Ich habe nicht über die Fehlerbehandlung nachgedacht, weil ich sie nur verwende. Ist es jedoch benutzerfreundlicher, einen Fehler zu erhalten, wenn kein Wort eingegeben wird?
Als ich ein Wort eingab, das eindeutig in vocab.txt enthalten war, wurde es als nicht in vocab ausgegeben. Anscheinend ist das Zeilenvorschub-Symbol schlecht. Es ist für Menschen einfacher, Zeilenumbrüche abzugrenzen, aber ist es besser, Dateien nicht schlecht abzugrenzen?
~~ Im nächsten Beitrag werde ich schreiben, wie das Zeilenvorschub-Symbol von jedem Element der Stimme entfernt wird. ~~ Ich habe geschrieben. Die modifizierte Version des Skripts ist auch hier. Python-Hinweis: Map - für jedes Element der Liste dasselbe tun
Recommended Posts