1秒ずつカウントダウンをするスクリプト


第1引数に秒数を指定して実行すると1秒ずつカウントダウンをするPythonスクリプトを書きました。

import time, sys

timing_limit = int(sys.argv[1])

while timing_limit >= 0:
    if timing_limit == 0:
        print "Time Over"
    else:
        print timing_limit
    timing_limit -= 1
    time.sleep(1)


これをspam.pyなど任意のファイル名で保存して、


$ python spam.py 5
とシェル/コマンドプロンプトで実行すれば、

5
4
3
2
1
Time Over


という感じで、簡易カウントダウン表示ができます。
この程度の簡単なスクリプトはPerl/Rubyのようにさっとワンライナーで書いてしまえればな、と思います。


こんな感じで、

ruby -e 't=30; t.times{|i| puts t-i; sleep(1)}'