10. 行数のカウント
はじめに
Pythonを勉強するため、東京工業大学の岡崎教授が出題されている言語処理100本ノック 2015を解いていきます。
より深く理解するため、別解や利用したライブラリの解説もまとめていきます。
環境
Python3.6
OS : mac
2章からUNIXコマンドの問題ですが、macもターミナルから利用できるようです。
問題
hightemp.txtは,日本の最高気温の記録を「都道府県」「地点」「℃」「日」のタブ区切り形式で格納したファイルである.以下の処理を行うプログラムを作成し,hightemp.txtを入力ファイルとして実行せよ.さらに,同様の処理をUNIXコマンドでも実行し,プログラムの実行結果を確認せよ.
10. 行数のカウント
行数をカウントせよ.確認にはwcコマンドを用いよ.
解答:Python
f = open('hightemp.txt', 'r')
print('length', len(f.readlines()))
f.close()
解説
標準関数のopen()
を使ってファイルを読み込みます。
行を要素とした配列を得るには、f.readlines()
です。
また、必ずファイルはクローズしてください。 ファイルをクローズしないと
- システムのリソースを食ったまま
- 他のプログラムがファイルにアクセスできなくなる
などのリスクがあります。
クローズはf.close()
です。
解答:UNIXコマンド
$ wc -l hightemp.txt
24 hightemp.txt
解説
wcコマンドの形式
wc (option) [file name]
続いての記事
前の問題:09. Typoglycemia
次の問題:11. タブをスペースに置換
