はじめに
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. タブをスペースに置換
Python:ファイルダウンロードの進行状況とファイルサイズを表示する方法。urllib
Pythonschedule2024-02-27
【Python】tqdmでforの進捗状況を表示する
PythonColabolatoryschedule2021-02-16
学習済みの日本語単語ベクトルをColabolatoryで試してみる
自然言語処理PythonColabolatoryschedule2021-02-04
Unity ML-Agentsで新しく学習環境を作る
Unity機械学習C#PythonDeepLearningschedule2021-01-22
27. 内部リンクの除去
自然言語処理100本ノックPythonschedule2020-03-17