我寫了下面的代碼作爲我工作的一部分回車: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()) )))**'...以非縮進格式打印文件內容和結果。 –