我写了下面的代码作为我工作的一部分回车:Python 3.x都有 - 不计与LEN
input_file = open('/home/me/01vshort.txt', 'r')
file_content = input_file.read()
input_file.close()
file_length_question = input("Count all characters (y/n)? ")
if file_length_question in ('y', 'Y', 'yes', 'Yes', 'YES'):
print("\n")
print(file_content, ("\n"), len(file_content) - file_content.count(" "))
它计数输出回车,所以以下文件( 01vshort.txt),我得到以下端子输出:
Count all characters (y/n)? y
0
0 0
1 1 1
9
......或者......
Count all characters (y/n)? y
0
00
111
9
在这两种情况下,答案建议立即进行删除d是6,因为有6个字符,但是我得到了9个结果。
我确信代码省略的空白,并通过故意添加空格和使用和不使用线运行的代码与我的输入文件已经测试了这一点:
- file_content.count(" ")
谁能帮助这里来为什么结果是9而不是6?
也许它不是回车?
我也很好奇为什么9的结果缩进1个空格?输入文件只是包含以下(含在该文件的末尾一个空行,行号中的示例所示):
1. 0
2. 0 0
3. 1 1 1
4.
...或...
1. 0
2. 00
3. 111
4.
感谢。
我已经有时间来处理和实现这个了。我特别喜欢.splitt()方法的优雅,尤其是当与sys.stdout方法结合使用时,它可以跳过逗号来说明对这种字符(逗号)的“打印”敏感度。所以,我可以使用:>> '** sys.stdout.write(“%s”%(len(“”。join(file_content.split()))))结果或以下内容:>> ** sys.stdout.write(“%s%s%s”%(file_content,(“\ n”),len(“”。join(file_content.split()) )))**'...以非缩进格式打印文件内容和结果。 –