2016-11-15 2 views
-1

I 3 Argumente zu senden bin versucht pythonw gesendet Programm pythonw wenn das Progamm von der CMD-Eingabeaufforderung in Windows 10. Mein Code ausgeführt wird:Argumente nicht lesen, wenn von der CMD-Fenster

import sys 
from PyQt4.QtCore import (QTimer, Qt) 
from PyQt4.QtGui import (QApplication, QLabel) 

arg_no= len(sys.argv) 
app = QApplication(sys.argv) 

message = "%i arguments given, %i arguments after QApplication %s" % (arg_no, len(sys.argv), str(sys.argv)) 

label = QLabel("<font color=red size=72><b>{0}</b></font>" 
       .format(message)) 
label.setWindowFlags(Qt.SplashScreen) 
label.show() 
QTimer.singleShot(60000, app.quit) # 1 minute 
app.exec_() 

Zum Beispiel, wenn ich die folgend von der CMD-Eingabeaufforderung versuchen:

C:\Temp\pyqtbook26\chap04>alert.pyw 07:50 wake up now 

Python nur das erste Argument zu sehen (C:\Temp\pyqtbook26\chap04>alert.pyw) und sehen nicht die verbleibenden drei Argumente (07:50 wake up now). Mein Instinkt ist, dass dies eine Art Registry-Problem sein könnte, aber ich bin mir nicht sicher, wie ich es beheben soll?

+1

Sie benötigen Code zu erhalten. – BrenBarn

+2

Stellen Sie sicher, dass der Standardwert für '[HKCU | HKLM] \ Software \ Classes \ Python.NoConFile \ Shell \ öffnen \ command' ist korrekt konfiguriert. Es sollte entweder pyw.exe oder pythonw.exe mit den Argumenten '"% 1 "% *' laufen. – eryksun

+0

Meine Computerregistrierung hat keinen Eintrag unter '[HKCU | HKLM] \ Software \ Classes \ Python.NoConFile \ Shell \ öffnen \ command'. Ist es etwas, das manuell hinzugefügt werden sollte, oder deutet dies auf einen größeren Installationsfehler hin? –

Antwort

0

Diese Frage wurde before beantwortet.

Ich hatte die HKEY_CLASSES_ROOT\Applications\python.exe\shell\open\command und HKEY_CLASSES_ROOT\Applications\pythonw.exe\shell\open\command Registrierungsschlüssel zu "C:\Python27\python.exe" "%1" %* und "C:\Python27\pythonw.exe" "%1" %* jeweils neu zuzuweisen. Der Ursprung meines Problems liegt wahrscheinlich an einer früheren Installation von Python auf demselben Computer. Diese Antwort ist im Wesentlichen die gleiche wie die Kommentare von Eryksun, obwohl die Schlüsselnamen leicht unterschiedlich waren.

Verwandte Themen