Quando si esegue uno script senza digitare "pitone" di fronte, è necessario sapere due cose su come di Windows richiama il programma. In primo luogo è quello di scoprire che tipo di file di Windows pensa che sia:
C:\>assoc .py
.py=Python.File
Successivamente, è necessario sapere come di Windows è in esecuzione le cose con tale estensione.E 'associato al tipo di file "Python.File", quindi questo comando mostra cosa si farà:
C:\>ftype Python.File
Python.File="c:\python26\python.exe" "%1" %*
Quindi sulla mia macchina, quando digito "foo blah.py", che eseguirà questo comando esatto , con nessuna differenza nei risultati che se avessi digitato la cosa piena me stesso:
"c:\python26\python.exe" "blah.py" foo
Se si digita la stessa cosa, comprese le virgolette, allora si ottengono risultati identici a quando basta digitare "blah. py foo ". Ora sei in grado di capire da solo il resto del tuo problema.
(Oppure pubblica più informazioni utili nella tua domanda, come le copie effettive di copia e incolla di ciò che vedi nella console. Nota che le persone che fanno quel tipo di cose ottengono le loro domande votate e ottengono punti reputazione , e sempre più persone sono suscettibili di aiutarli con buone risposte)
portato da Commenti:.
Anche se assoc e ftype visualizzano le informazioni corrette, può accadere che gli argomenti vengono eliminati. Ciò che può aiutare in questo caso è il fissaggio diretto delle chiavi di registro rilevanti per Python. Impostare la chiave
HKEY_CLASSES_ROOT\Applications\python26.exe\shell\open\command
a:
"C:\Python26\python26.exe" "%1" %*
Probabilmente, in precedenza, %*
mancava. Allo stesso modo, impostare
HKEY_CLASSES_ROOT\py_auto_file\shell\open\command
allo stesso valore. Vedere http://eli.thegreenplace.net/2010/12/14/problem-passing-arguments-to-python-scripts-on-windows/
HKEY_CLASSES_ROOT\Applications\python.exe\shell\open\command
Il percorso del Registro può variare, utilizzare python26.exe
o python.exe
o seconda di quale è già nel Registro di sistema.
HKEY_CLASSES_ROOT\py_auto_file\shell\open\command
postare uno snippet di codice potrebbe aiutarci ad aiutarti. – jldupont
L'uomo senza palla di cristallo ha già dato una soluzione =) print sys.argv [1] produce questo errore. – ton4eg
Se sono installate più versioni di Python, potrebbe essere necessario questo http://stackoverflow.com/questions/1934675/how-to-execute-python-scripts-in-windows/#22439338. – laike9m