• ベストアンサー

Pythonでコンソールをクリアするにはどうすればよいでしょうか?

Pythonでコンソールに出力するのは、printでよいのですが、 クリアするにはどうすればよいでしょうか? また、コンソールをバックスペースで戻るようなこともしたいです。 因みに print "\b"はうまくいかなかったような・・・

  • sdst
  • お礼率0% (0/27)

質問者が選んだベストアンサー

  • ベストアンサー
  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

ちょっと調べたら、 ・os.system("clear") (Windowsのコマンドプロンプトなら os.system("CLS") )と外部コマンドを呼び出す ・ANSIエスケープシーケンスを出力する ・cursesライブラリを使う なかには ・W32APIを使う http://d.hatena.ne.jp/m-hiyama/20091222/1261444695 というものもあり、一筋縄にはいかないようです。 画面消去が本当に必要かどうか、検討しなおしてみては? 文字の表示位置が重要なら、cursesを使うことになると思います。 なお、"\b"によるバックスペースは私のところではちゃんと動作しています >>> print "ab\bc" ac 使用している端末がバックスペースに対応していない、ということはありませんか?

関連するQ&A

  • XCODE コンソールのクリア

    xcodeに関して、質問させてください。 C++で開発を行っておりますが、 デバッグ用の出力をデバッガコンソールに吐いています。 これをクリアしたい場合は、どうすればよいのでしょうか。 よろしくお願いします。

    • 締切済み
    • Mac
  • Python

    今日からPythonを学び始めた、超初心者です! とっても初歩的な質問で申し訳ないのですが、私の周りで聞ける人がいないので、どなたか助けていただけると嬉しいです。 Pythonの条件分岐の式で、例えば、 score=100 if score = = 100 : print ('よくできました’) とあった場合、2つの=の間や、100と:、またprintと( のスペースは空けてはいけないというルールなのでしょうか? どこがスペースを空けてよくて、どこがダメなのかを知りたいです。 このような質問をすみません。 よろしくお願いいたします。

  • pythonのprintで出力された内容をまとめてstringにいれる

    pythonのprintで出力された内容をまとめてstringにいれる方法? pythonでhtmlをprint出力した内容をstr型などに文字列として 格納したいと考えています。 WEBで調べたのですが、pythonは最近、勉強しはじめたばかりで、 調べ方が悪く、見つけられません。 どのような方法があるのでしょうか? *勉強不足で申し訳ございません。

  • MFCでコンソール出力

    コンソールアプリケーションをMFCアプリケーションへ置き換える作業を行っていて、一つ疑問に感じることがあるのですが、コンソールアプリケーションのprint文が出力されなくなってしまいました。(Dosコンソールから起動して) そこで質問なのですが、MFCアプリケーションをDosコンソールから起動してコンソールメッセージを出力することはできるのでしょうか?

  • pythonのメゾッドの整合性について

    こんばんは。 pythonを勉強し始めましたが理解できない部分があって質問させて頂きます。 プログラム、特にオブジェクト指向をまだよく理解していないのである程度初心者向けの回答をお願いします。 pythonにおいて文字列はオブジェクトであり、 >>> strA = "python" >>> print (strA) python >>> print (strA.upper()) PYTHON >>> print (strA) python のように使われるメゾッドが存在しています。 これはオブジェクト自体を変化させるのではなく、今回の場合ではオブジェクトがupper()されたオブジェクトを返しています(まちがっていませんよね?)。 そのため、strA自体を変化させるには >>> strA = strA.upper() >>> print (strA) PYTHON のようにする必要があると理解していました。 ここで新しいオブジェクトlistを用いた時 >>> tl = ['A','B','C','D','E','F'] >>> print (tl) ['A', 'B', 'C', 'D', 'E', 'F'] >>> print(tl.reverse()) None >>> print(tl) ['F', 'E', 'D', 'C', 'B', 'A'] >>> listA.reverse() となります。文字列から類推すると >>>tl = ['A','B','C','D','E','F'] >>>print (tl.reserve()) ['F', 'E', 'D', 'C', 'B', 'A'] >>>print(tl) ['A','B','C','D','E','F'] >>>tl =tl.reserve() >>>print (tl) ['F', 'E', 'D', 'C', 'B', 'A'] のような振る舞い方を行うのが"正しい"と思うのですがなぜ違うのでしょうか?

  • Pythonについて

    Pythonで〇〇から〇〇の時に実行、 ということはできますか? if文を使うと if a <= 100: このように100以下のみ実行となりますが、 if a <= 100: if a >= 90: print("〇") else: print("×") else: print("×") aが90以上100以下の時、「◯」、それ以外の時「×」を出力するには上のような構文にすればいいですか? この構文より簡単な構文、もしくはより良い構文がある場合は教えてください。

  • python

    pythonについての質問です。 def S_sa(k=1) for step in xrange(k) : if step == 0 : print 'a' else print 'b' というコードがあって、なぜかprint aが実行されるのはなぜでしょうか? xrangeのreturnは1ではないのでしょうか?

  • python超初心者です(3時間目)。pythonで以下のようなランダ

    python超初心者です(3時間目)。pythonで以下のようなランダム数列を生成させるにはどうしたらいいのでしょうか? 最終結果のイメージ(16進数8桁の数列x20行): 0 : c39a29eb 1 : b26cc9bb 2 : 4c494e47 ... 19: 93c85836 以下のようにコードを組んでみたのですが、 > tmp = ws.join(list) > TypeError: sequence item 0: expected string, int found のようなエラーが出てしまいます。どうやら数字を連結しようとしてるのでダメなのかな?と思っています。 ======================================== #! /usr/bin/python import random list = [] ws = "" for i in range (20): print i, ":", for j in range(8): list.append(random.randint(0,15)) tmp = ws.join(list) print tmp list = [] tmp = "" ======================================== ※ printでは必ずスペースが入ってしまうので、それを嫌う場合配列に入れて、要素を連結させなくてはならない、とwebにあったので、その方向で試してみました。 ※ また、ここではあくまでrandom を使用し、一文字(0,1,2,...E,F)づつ出力させたいと思っています。 なお、perlでは以下のように書くことができたのですが... ======================================== #! /usr/bin/perl for($i=0; $i<20; $i++){ printf ("%-02s: ", $i); for($j=0; $j<8; $j++){ printf("%x", int(rand(15)) ); } print "\n"; } ======================================== ※ んー第二言語としてpythonを学習してみていますが道のり険しそうです(やっぱrubyにしようか)... 宜しくお願い致します。

  • PythonでprintをすべてSJISで表示させるには?

    WindowsでPython2.6でコンソールに日本語を表示させているのですが、ソースはUTF-8限定で、printだけ(エンコード関数を使わずに)でSJISが表示できる、おまじないや設定はあるのでしょうか?

  • pythonのエラーについて教えて下さい。

    pythonの勉強をおこなっている超初心者です。 ネットでみた。以下のサンプルコードを実行しようとしました。 # -*- coding: utf-8 -*- print u'モジュールのロード' def test(): print u'関数:testを呼び出しました' if __name__ == '__main__': print 'python-izm' # print 'パイソンイズム' test() しかし、以下の様なエラーとなってしまいます。 File ”test02.py"、line 9 print ’python-izm'  ^ indentionError:expected an indented block ネット調べてみたとことpythonのインデントのエラーだとわかりました。 pythonはインデントで実行範囲を認識するので、 そこがうまく記述できていないであろうとは思うのですが、何回か試したのですが うまく動いてくれません。 どなたか御指南下さい。

専門家に質問してみよう