「実行」プロンプトからPythonスクリプトを実行する


1

これは簡単だろうと思いましたが、しばらく苦労していました。

私のWindowsマシンには "myscript.py"というPythonスクリプトがあります。私は自分のPATH上にあるフォルダーにそれを持っていて、PATHEXT環境変数に ".py"拡張子を追加したので、 "myscript"をタイプする代わりに "myscript"を実行することによってコマンドプロンプトからスクリプトを実行できます。 .py ")。これはうまくいっています。

しかし、 "Run"プロンプトからスクリプトを起動しても同じ動作が得られないようです(Windows-R)。私が "myscript.py"とタイプすれば、それはうまく機能しますが、 "myscript"を実行するだけではうまくいきません。 Windows cannot find 'myscript'... エラーメッセージ。

"Run"プロンプトは単にPATHEXT変数を認識しないと想定していましたが、他の種類のプログラムでも問題ないようです - Runプロンプトから.bat(Windowsバッチスクリプト)と.exe(Windows実行可能ファイル)を実行せずに実行できます。必要な拡張機能

拡張子なしで自分のPythonスクリプトを実行してもRunプロンプトから機能しないのはなぜですか?

回答:


2

その理由についての私の質問には実際には答えません、しかし私は満足のいく回避策を見つけました:私はショートカットを作成しました私のスクリプトになります。そのショートカットが自分のパス上のフォルダーに入ったら、そのショートカットの名前だけでスクリプトを呼び出すことができます(拡張子は付けずに)。これにより、コマンドラインパラメータをそれ以上変更することなくPythonスクリプトに渡すことができます。

別の選択肢がAnaksunamanによって提供されました - スクリプトの周囲に.bat / batchスクリプトラッパーを作成します。あなたのPythonスクリプトがパラメータを取る必要がなければ、これはうまく働きます。その場合、パラメータを渡すのにより多くの努力が必要になります。


ショートカットで簡単なパラメータを有効にするための+1。
Anaksunaman

1

答えではありません、あなたはすでにこれを他の人のための解決策として考えているかもしれませんが、pythonスクリプトを呼び出すために1行の.batファイルを使ってもうまくいきます。もちろん、batファイルに "myscript.bat"という名前を付けることもできます。拡張子は.batがなくても機能します。


私はそれを考えていましたが、私のPythonスクリプトは引数/コマンドラインパラメータを取り、引数を渡すためにバッチを書く必要はありません。私はそれをする方法を見つけました - 私の答えを見てください!
Isaac Dontje Lindell
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.