2017-07-31 3 views
0

私は、ターミナルで以下のコマンドを実行しています:端末プロンプト変更しないように「>>>」Pythonはファイルの実行の際

python SpellingCorrector.py 

エラーが、端末によってスローされていない、それは単にそれを次の行に進みれますPython '>>>'ターミナルプロンプトではなく、私の現在の作業ディレクトリを表示しています。

私は引数を指定してプログラム内の関数を実行したいと私は唯一のようなことをしようとするためのオプションがあります:

[my/current/directory/]$ correction('speling') 

これは、エラー

bashをスロー:構文を予期せぬトークン `'speling'`の近くのエラー

私は、このプロンプトで動作させる必要があると推測しています:

>>> correction('speling') 

Pythonのバージョンは2.7.5です。 誰かが、プログラムを実行するときにプロンプ​​トが変化しない理由、またはその機能をどのように実行できるのかを知っていますか?

+0

なぜそれはまったく変更する必要があると思いますか? Pythonスクリプトが実行され、制御がシェルに返されます。 –

+0

はSpellingCorrector.pyの修正機能ですか? – viveksyngh

+0

Pythonプログラムは他のプログラムとして実行されるので、スクリプトが終了すると 'python'コマンドも終了します。 Pythonのドキュメント(https://docs.python.org/2.7/)のように、対話的ではない*対話的なスクリプトを実行する必要があります。 –

答えて

6

次のように、対話モードでスクリプトを実行する必要があります。その後、

python -i SpellingCorrector.py 

、そこからあなたの関数を実行します。

correction('speling') 
+0

ありがとう、これは働いた! – tnoel999888

2

あなたがプログラムを起動する代わりに、パイソンを起動しています通訳。

インタプリタを使用するには、次のように(引数なし)、それを起動します。

python

その後、インタプリタにあなたのプログラムをインポートするimport SpellingCorrectorを使用しています。 ここでその機能などを使用できます。

このインポートステートメントには、.pyという拡張子はありません。

+0

または@marsouf答えを使用して、それも有効です – Michal

+0

代替ソリューションありがとう – tnoel999888

0

コマンドは、単にスクリプトを実行し、シェルに制御を返します。これはあなたが望むものではありません。

あなたはinterpeter内からPythonスクリプトを実行するためにipython%runコマンドを使用することができます。

%run ./script.py 

これは、システムプロンプトpython file argsで実行するのと似ていますが、の利点と あなたにIPythonのトレースバックを与え、さらなる使用のためにすべての変数をインタラクティブな名前空間にロードします。

関連する問題