[解決済み] WindowsでPythonスクリプトを実行するには?
質問
私は簡単なスクリプトblah.pyを持っています(Python 2を使用)。
import sys
print sys.argv[1]
でスクリプトを実行すると
python c:/..../blah.py argument
引数は表示されるけど、スクリプトで実行すると
blah.py argument
エラーが発生します。
IndexError...
そのため、引数はスクリプトに渡されません。
PATHにpython.exeがある。blah.pyのあるフォルダもPATHにある。
python.exeは*.pyファイルを実行するためのデフォルトのプログラムです。
何が問題なのでしょうか?
どのように解決するのですか?
前に "python" と入力せずにスクリプトを実行する場合、Windows がプログラムを呼び出す方法について 2 つのことを知る必要があります。 1 つ目は、Windows がどのような種類のファイルだと考えているかを知ることです。
C:\>assoc .py .py=Python.File
次に、Windows がその拡張子を持つものをどのように実行しているかを知る必要があります。 それはファイル タイプ "Python.File" と関連付けられているので、このコマンドはそれが何を行うかを示しています。
C:\>ftype Python.File Python.File="c:㊙python.exe" "%1" %*。
つまり、私のマシンでは、私が "blah.py foo" と入力すると、この正確なコマンドが実行され、自分で完全なものを入力した場合と結果に違いはないのです。
"c:\python26﹑python.exe" "blah.py" foo
引用符を含めて同じように入力すると、"blah.py foo"と入力したときと同じ結果が得られるはずです。 これで、問題の残りを自分で解決できる状態になりました。
(または、コンソールで見たものを実際にカットアンドペーストしたコピーのような、より役立つ情報を質問に投稿してください。 そのようなことをする人は、質問が投票され、評判ポイントを獲得し、より多くの人が良い答えで彼らを助ける可能性があることに注意してください)。
コメントから持ち込まれた
assocとftypeが正しい情報を表示しても、引数が取り除かれることがあります。そのような場合に役立つ可能性があるのは、Python の関連するレジストリ キーを直接修正することです。レジストリ キーに
HKEY_CLASSES_ROOT\Applications\python26.exe\shell\open\command
のキーになります。
"C:\Python26\python26.exe" "%1" %*
尤も、以前は
%*
が抜けていました。同様に、セット
HKEY_CLASSES_ROOT\py_auto_file\shell\open\command
を同じ値に変換します。参照 http://eli.thegreenplace.net/2010/12/14/problem-passing-arguments-to-python-scripts-on-windows/
HKEY_CLASSES_ROOT\Applications\python.exe\shell\open\command
レジストリのパスは異なる場合があります。
python26.exe
または
python.exe
のどちらか、あるいは既にレジストリに登録されているほうを使用します。
関連
-
[解決済み] プログラムの実行やシステムコマンドの呼び出しはどのように行うのですか?
-
[解決済み] Bashで通常のファイルが存在しないかどうかを判断する方法を教えてください。
-
[解決済み] Windowsにpipをインストールするにはどうしたらいいですか?
-
[解決済み] Bashでコマンドライン引数を解析するには?
-
[解決済み】ネストされたディレクトリを安全に作成するには?
-
[解決済み】Pythonに三項条件演算子はありますか?
-
[解決済み] PythonでファイルのMD5チェックサムを計算するには?重複
-
[解決済み] Django 1.7で初期マイグレーションからマイグレートバックする方法は?
-
[解決済み] PyMongoで.sortを使用する
-
[解決済み] Python Logging でログメッセージが2回表示される件
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 2つの線分が交差しているかどうかを確認するにはどうすればよいですか?
-
[解決済み] Pythonです。未束縛のメソッドを束縛する?
-
[解決済み] Pythonの構文に新しいステートメントを追加することはできますか?
-
[解決済み] pandasのDataFrameから空のセルを含む行を削除する
-
[解決済み] Flaskで1時間ごとに関数を実行するようにスケジュールするには?
-
[解決済み] オブジェクトのリストに特定の属性値を持つオブジェクトが含まれているかどうかをチェックする
-
[解決済み] PyQtアプリケーションのスレッド化。QtスレッドとPythonスレッドのどちらを使うか?
-
[解決済み] PySparkでデータフレームのカラムをString型からDouble型に変更する方法は?
-
[解決済み] virtualenvsはどこに作成するのですか?
-
[解決済み] djangoのQueryDictをPythonのDictに変更するには?