2017-02-13 83 views
1

我有這段代碼讀取文本文件中的行並計算字符數,並在達到1000個或更多字符時停止。我如何修改它,使其不會計算以#號開頭的任何行上的字符?如何在python文本文件中以'#'開頭的行中不包括字符

infile = open('word_count.tst', 'r') #word_count is just a sample file. 
lines = infile.readlines() 
char_count = 0 
for line in lines: 
    char_count = char_count + len(line) 
    if char_count >= 1000: 
     break 
print("File has %d characters" % (char_count)) 
+0

添加一個鉤子檢查是否'line.startswith( '#')' –

回答

0

只需添加if line[0] != "#":到代碼:

f = open('word_count.txt', 'r') #word_count is just a sample file. 
char_count = 0 
for line in f: 
    if line[0] != "#": 
     char_count = char_count + len(line) 
     if char_count >= 1000: 
      break 
print("File has %d characters" % (char_count)) 
1

打開文件,with聲明。不要讀取所有行,只是遍歷文件對象。使用a = a + b的空格作爲a += b。檢查線是否以#string.startswith()函數開始,並用not否定它以獲得所需的條件。

你能做到像這樣:

char_count = 0 
with open('word_count.tst', 'r') as f: 
    for l in f: 
     if not l.startswith('#'): 
      char_count += len(l) 
      if char_count >= 1000: 
       break 
相關問題