2
此代码将打印文本文件中的整行数,总字数和字符总数。它工作正常,并提供预期产出。但是,我希望计算每行的字符数,并打印这样的: -计算每行中的字符数
Line No. 1 has 58 Characters
Line No. 2 has 24 Characters
代码: -
import string
def fileCount(fname):
#counting variables
lineCount = 0
wordCount = 0
charCount = 0
words = []
#file is opened and assigned a variable
infile = open(fname, 'r')
#loop that finds the number of lines in the file
for line in infile:
lineCount = lineCount + 1
word = line.split()
words = words + word
#loop that finds the number of words in the file
for word in words:
wordCount = wordCount + 1
#loop that finds the number of characters in the file
for char in word:
charCount = charCount + 1
#returns the variables so they can be called to the main function
return(lineCount, wordCount, charCount)
def main():
fname = input('Enter the name of the file to be used: ')
lineCount, wordCount, charCount = fileCount(fname)
print ("There are", lineCount, "lines in the file.")
print ("There are", charCount, "characters in the file.")
print ("There are", wordCount, "words in the file.")
main()
由于
for line in infile:
lineCount = lineCount + 1
计数的整行,但如何为每一行操作? 我正在使用Python 3.X
您可以使用'len'功能。 –
但是len也会计算空格和制表符。另外,如何将它应用于每一行?我需要另一个循环。 – cyberoy
'len(re.findall(r'\ S',line))' –