2014の21日目の記事です。こんにちは、@morishin127です。今日はPythonで処理中のぐるぐるを表示する方法を紹介します。installとかで出てくるあれですね。これがソースコードです。動くようにはしています。file=sys.stderr)ぐるぐるの棒を表す4種類の文字の繰り返しを、ジェネレータを使って無限列で表しています。印字部分のコードは下記のようになっています。file=sys.stderr)\033[1Dの部分は、「カーソルを1つ左へ移動」する制御文字です。棒を1文字出力して、カーソルを1つ左へ移動させ、また次の棒を1文字入力...の繰り返しで回転のアニメーションを実現しています。プログラムの結果の出力に混ざってしまうのを防ぐため、file=sys.stderrで標準エラー出力にしています。結果をファイル出力しても、こうしておくと混ざりません。時間のかかる処理で何も表示されないと、異常があって止まっているのか単なる処理待ちなのか分からないので、このようなぐるぐるを表示させると良いと思います。gemもなんか出してほしい。余談ですが、\033[1Dのような制御文字は他にも色々あります。コマンドラインでinfocmp1infocmpと打つとたくさん出てきます。tbc=\E[3g,なんか色々あってよく分からないですが、使えそうなのいくつか。\033[0mは前に変えたスタイルのリセットです。コマンドラインツールのログ表示に便利そうです。明日はyaitaimoの記事です。コメントをキャンセルメールアドレスが公開されることはありません。