Saat Anda menjalankan skrip tanpa mengetik "python" di depan, Anda perlu mengetahui dua hal tentang bagaimana Windows menjalankan program. Pertama adalah mencari tahu jenis file apa yang menurut Windows itu:
C: \> assoc .py
.py = Python.File
Selanjutnya, Anda perlu tahu bagaimana Windows menjalankan sesuatu dengan ekstensi itu. Ini terkait dengan jenis file "Python.File", jadi perintah ini menunjukkan apa yang akan dilakukannya:
C: \> ftype Python.File
Python.File = "c: \ python26 \ python.exe" "% 1"% *
Jadi di mesin saya, saat saya mengetik "blah.py foo", perintah ini akan dijalankan persis seperti ini, tanpa perbedaan hasil dibandingkan jika saya mengetik sendiri seluruhnya:
"c: \ python26 \ python.exe" "blah.py" foo
Jika Anda mengetik hal yang sama, termasuk tanda kutip, Anda akan mendapatkan hasil yang sama dengan saat Anda mengetik "blah.py foo". Sekarang Anda berada dalam posisi untuk mencari tahu sendiri sisa masalah Anda.
(Atau poskan informasi yang lebih berguna dalam pertanyaan Anda, seperti salinan potong-dan-tempel yang sebenarnya dari apa yang Anda lihat di konsol. Perhatikan bahwa orang yang melakukan hal semacam itu mendapatkan pertanyaan mereka dipilih, dan mereka mendapatkan poin reputasi, dan lebih banyak orang cenderung membantu mereka dengan jawaban yang baik.)
Didatangkan Dari Komentar:
Bahkan jika assoc dan ftype menampilkan informasi yang benar, mungkin saja argumen tersebut dilucuti. Apa yang dapat membantu dalam kasus itu adalah langsung memperbaiki kunci registri yang relevan untuk Python. Mengatur
HKEY_CLASSES_ROOT\Applications\python26.exe\shell\open\command
kunci untuk:
"C:\Python26\python26.exe" "%1" %*
Kemungkinan, sebelumnya, %*
hilang. Demikian pula, set
HKEY_CLASSES_ROOT\py_auto_file\shell\open\command
dengan nilai yang sama. Lihat http://eli.thegreenplace.net/2010/12/14/problem-passing-arguments-to-python-scripts-on-windows/
HKEY_CLASSES_ROOT\Applications\python.exe\shell\open\command
Lintasan registri mungkin berbeda, menggunakan python26.exe
atau python.exe
atau mana saja yang sudah ada di dalam registri.
HKEY_CLASSES_ROOT\py_auto_file\shell\open\command