統計ファイル内の文字数、単語数、行数

3447 ワード

次のウィジェットは、1つのファイル内の文字数、単語数、行数の統計を実現します.コードは次のとおりです.
[root@js python]# cat wc.py
#!/usr/bin/python
def wordCount(s):
    chars = len(s)             //   
    words = len(s.split())     //   
    lines = s.count('
'
) // print chars, words, lines s=open('/etc/passwd').read() wordCount(s)

実行中、次の問題が発生しました.
[root@js  python]# python wc.py
  File "wc.py", line 2
SyntaxError: Non-ASCII character '\xef' in file wc.py on line 2, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details

その後、line 2であることがわかりました.英語ではなく、英語のフォーマットに変更すれば解決できます.コードの変更:
[root@js python]# cat wc.py
#!/usr/bin/python
def wordCount(s):
    chars = len(s)
    words = len(s.split())
    lines = s.count('
'
) print chars, words, lines print " !" s=open('/etc/passwd').read() wordCount(s)

実行中に次のエラーが発生しました.
[root@js python]# python wc.py
  File "wc.py", line 7
SyntaxError: Non-ASCII character '\xe4' in file wc.py on line 7, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details

同様に中国語の文字の問題のため、ファイルの中でこの文#coding:utf-8をプラスして、コードは以下の通りです:
[root@js python]# cat wc.py
#!/usr/bin/python
#coding:utf-8
def wordCount(s):
    chars = len(s)
    words = len(s.split())
    lines = s.count('
'
) print chars, words, lines print " !" s=open('/etc/passwd').read() wordCount(s)

実行:[root@js python]# python wc.py 1460 50 50 31こんにちは!