En étudiant le traitement du langage naturel, j'ai généré un fichier texte de la liste de mots, mais il était difficile de vérifier le contenu car il était de grande taille, donc si le mot que j'ai choisi de manière appropriée est dans la liste de mots Je voulais pouvoir confirmer.
J'ai fait référence à cet article sur le blog de Yukun.
Il semble que les arguments de ligne de commande soient stockés dans l'attribut argv du module sys.
contain_or_not.py
import sys
r0 = open('vocab.txt','r') #Ouvrir le fichier en mode lecture
vocab = r0.readlines() #vocab.txt contient des mots séparés par des sauts de ligne
r0.close()
argvs = sys.argv
words = argvs[1:] #argvs[0]Contient le nom du fichier lors de l'exécution
for word in words:
if word in vocab:
print(word + ' is in vocab.')
else:
print(word + ' is not in vocab.')
Je n'ai pas pensé à la gestion des erreurs parce que je ne l'utilise que, mais est-il plus convivial d'obtenir une erreur lorsqu'un mot n'est pas saisi?
Quand j'ai entré un mot qui était clairement contenu dans vocab.txt, il était sorti comme n'étant pas dans le vocabulaire. Apparemment, le symbole de saut de ligne est mauvais. Il est plus facile pour les humains de délimiter les sauts de ligne, mais vaut-il mieux ne pas mal délimiter les fichiers?
~~ Dans le prochain post, j'écrirai comment supprimer le symbole de saut de ligne de chaque élément de la voix. ~~ J'ai écrit. La version modifiée du script est également ici. note python: map - faire la même chose pour chaque élément de la liste
Recommended Posts