我有这个代码读取文本文件中的行并计算字符并在达到1000个字符或更多时停止。如何修改它以便它不会计算以#符号开头的任何行上的字符?
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 :(得分: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
答案 1 :(得分: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))