2017-03-16 47 views
-2

我是Python的新手,一直在努力尋找解決以下問題的方法。我正在計算.txt文件每行中的字符數,然後將這些數字寫入不同的文件,該文件將以單獨的行顯示。例如:如何計算從.txt文件中每行的字符數並在Python中的單獨行上寫入另一個.txt文件?

inputfile: 
    This code 
    has eight words 
    in it. 


    outputfile: 
    9 
    15 
    6 

我到目前爲止所提供的代碼是將每一行數加到前一行。

wrong output: 
    9 
    24 
    30 

這裏是我的腳本:

import sys 

infilename = sys.argv[1] 
outfilename = sys.argv[2] 

infile = open (infilename) 
outfile = open (outfilename, "w") 

charct = 0 

for line in (infile): 
    line = line.strip("\n") 
    charct = charct + len(line) 
    outfile.write(str(charct) + "\n") 

infile.close() 
outfile.close() 
+2

'outfile.write(str(len(line))+「\ n」)',不需要累加。 –

+0

'charct = charct + len(line)'你爲什麼要加入你的櫃檯? – njzk2

+0

謝謝。這很好。 – Philalethes

回答

2

您當前的解決方案增加了當前行的長度總共用charct = charct + len(line)每一行。用charct = len(line)代替它應該可以做到。除此之外,你的代碼看起來很好,但如果你想改進它,你可以使用with聲明來查看打開的文件。

+0

我以爲我的'charct = charct + len(line)'代碼只是單獨添加每一行。我沒有意識到那是我積累總數的地方。感謝您的迴應,這有助於消除混淆。 – Philalethes

相關問題