2012-03-18 8 views
2

私はPythonスクリプトを実行するたびに、新しい行が最後にも表示されます。最後に改行を印刷しないでpythonスクリプトを実行しますか?

これを止める唯一の方法は、最後にposix._exit(0)を使用してPythonのクリーンアップコードを避けることです。より移植可能な方法がありますか?

(これは/改行なしの印刷について残念ながら、私は見てきた質問に答えることが一見明白な繰り返しの質問であれば申し訳ありません。)

スクリプト例:

import os 
#nothing actually done 

ノンポータブルソリューション:

import os,posix 
#nothing actually done 
posix._exit() 

OS:Windowsの でテスト:cygwinの中にはPython、ネイティブPyPy

+0

あなたは、 '> python myscript.py'と '> python myscript.py>'を次の行に移動するプロンプトなしで取得したいということを意味しますか? – JoshRagem

+0

@ JoshRagem、ちょっと。私は事実上、スクリプトを実行するためにタイプしたものと、Pythonのものを出力するものの2つの新しい行を効果的に取得します。次の行に移動するだけで空白行を残さないようにしたい。 –

+1

どのオペレーティングシステムですか?私はそれをしません。 – JoshRagem

答えて

2

あなたが何を記述するかは、通常のPythonの動作ではありません。そのため、あなたの設定は多分奇妙です。 Pythonが何をするかを解くことでデバッグしよう:pythonを-E(環境オプションを無視する)および/または-Ssiteをロードしないでください)と呼んでください。それが助けにならない場合は、アイデアのための他のpython呼び出しオプションを調べるか、デバッガを使ってみてください。

posix._exit(0)以降、何か(site?)が改行を生成する終了ハンドラを設定している可能性があります。 sys.exitfuncとモジュールatexitを探して、それらが使用中であるかどうかを確認してください。

2

このスクリプトは、あなたがやりたいことがあります。

import sys 

sys.stdout.write("Hello world") 

は、トリックは、ビルトインprintステートメントを使用して回避することです。

+0

私は全く印刷を使用していない。 –

+0

'import os'だけでも、新しい行はまだpythonによって印刷されます。 –

+0

まさに私が探していたものです、ありがとう! – ditheredtransparency

関連する問題