巨人の肩の上に登る

先人の積み重ねた発見に基づいて、なにかを発見しようとすることを指す。

Python でワンライナー

Pythonワンライナーをやってみる.
c オプションを用いて,テキストを渡すことで実行できる.

$python -c "print 'Hello World'"
$Hello World


今回は,以下のようなテキストファイルから数値を取り出し,
その数値を2倍する処理を実装することを試みます.

#hoge_int.txt
100
500
400
300
600


下記にワンライナーを示します.(読みやすいように改行しています.)

$python -c "
f = open('hoge.txt', 'r'); lines = f.readlines(); f.close;
result = ''.join([str(int(x) * 2) + '\n' for x in lines]);
f = open('hoge_2.txt', 'w'); f.write(result); f.close()"


処理はシンプルに,

  1. 行ごとに読み取り,配列に格納

  2. 配列の各要素を整数に変換し2倍する.その後,文字列へ変換し改行コードを付与.最後に,join を用いて文字列に戻す

  3. 新しいファイルを生成し,書き出す

このようなロジックで行います.


出力結果を最後に示します.

#hoge_out.txt
200
1000
800
600
1200