stkblog

白血病と関係ないことを書きます なにかあったら教えて下さい

言語処理100本ノックやった 14-15

過去

steek.hatenablog.com
など

ファイル読み書き

with open("filename", "r") as file:
    whole_str = file.read()

ファイル読み書き file open read write » Python Snippets
Pythonのwithステートメントのまとめ - $ cat /var/log/shin

のように書くのがいいらしい。~.close() 書き忘れる心配もないし

#14 先頭からN行を出力

N = raw_input()
N = int(N) if N.isdigit() else 3 #入力が不適切なら3行くらい適当に

with open('hightemp.txt') as fhand:
    cnt = 0
    for line in fhand:
        cnt += 1
        print line.strip()
        if cnt == N: break

cnt が N になるまで print をしつづけるって感じでいいかなと思いました

#15 末尾からN行を出力

N = raw_input()
N = int(N) if N.isdigit() else 3 #入力が不適切なら3行くらい適当に
with open('hightemp.txt') as fhand:
    lines = fhand.readlines()
    lines = lines[-N:]
    for line in lines:
        print line.strip()

ちょっとやり方を変えて .readlines() で全部読み込んで末尾N行をスライスしたのを順番に出力
#14 もこれと同じのほうがよかった?
Python: テキストファイルの読み込み – read()、readlines()、readline()メソッド

出力 #14, #15

f:id:steek79:20151109165807p:plain


今日のところは

こんな感じ (幻冬舎文庫)

こんな感じ (幻冬舎文庫)