我是一個嘗試構建簡單程序的初學者程序員。它應該計算文件中的每一個單詞,但正如我寫的那樣,它只計算最後一行文本。開始的字計數程序只產生python中最後一行的輸出
tm = open('myfile.txt', 'r')
for line in tm:
line = line.replace ('\n', '')
line = line.strip()
line = line.translate(None, '!#$%&\'()*+,-./:;<=>[email protected][\\]^_`{|}~')
line = line.lower()
line = line.split(' ')
list = line
dict ={}
for word in list:
dict[word]=1
if word in dict:
count = dict[word]
count += 1
dict[word] = count
else:
dict[word]=1
for word,count in dict.iteritems():
print word + ": " + str(count)
我的輸出是這
about: 1
to: 1
subscribe: 1
hear: 1
new: 1
our: 1
newsletter: 1
email: 1
ebooks: 2
任何幫助表示讚賞
你可以跳過'.replace()','.strip()'和'.lower()'調用:'open('myfile.txt','rb')作爲文件:print collections.Counter (字的文件中的行在line.translate(string.maketrans(string.ascii_uppercase,string.ascii_lowercase),string.punctuation).split())。most_common()' – jfs