ファイルの入出力を処理するコードを作成しようとしています。プログラムはファイル名の入力を求め、(存在する場合) ファイルを開き、一度に 1 行ずつ読み取ります。各行をより大きな wordList の個別のサブリストに分割します。これはすべて正常に機能します。
私が問題を抱えている部分は、ファイル/リストに各単語が何回出現するかを追跡することになっていることです。また、リストは一意であるはずなので、カウント機能は実際には機能しません。私にはうまくいくように見えるコードブロックがありますが、うまくいきません。
aFile = theFile.readline()
while aFile != '':
aFile = aFile.split()
for i in aFile:
try:
isInt = float(i)
numList.append(i)
except ValueError:
if not wordList:
tempList = []
tempList.append(i)
tempList.append(wordCount)
wordList.append(tempList)
else:
for n in wordList:
try:
if i in n:
print ('You should see this')
wordIndex = wordList.index(i)
wordList[wordIndex][1] +=1
except ValueError:
tempList = []
tempList.append(i)
tempList.append(wordCount)
wordList.append(tempList)
これは、入力ファイルの読み取り、分割、リストへの配置、または少なくとも試行に関連するブロックにすぎません。現時点では、コードを実行すると無限ループが発生し、「You should see this」が無限に出力されます。
2 番目の try:except ループ アウトを実行すると、無限ループは発生しなくなりますが、ファイル内の 2 番目の単語が wordList に見つからない場合に ValueError が返されます (そうあるべきではないため、その前に単語が 1 つしか入力されていないため)。
誰かが私が間違っていることを見ることができますか? 必要に応じて、残りのコードを投稿できます。