-1

从 Windows 10 中的 CMD 提示符运行程序时,我试图向 pythonw 程序发送 3 个参数。我的代码是:

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_()

例如,当我从 CMD 提示符尝试以下操作时:

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

Python 只看到第一个参数 ( C:\Temp\pyqtbook26\chap04>alert.pyw),并没有看到其余的三个参数 ( 07:50 wake up now)。我的直觉是这可能是某种类型的注册表问题,但是,我不知道如何解决它?

4

1 回答 1

0

这个问题之前回答

我不得不分别将HKEY_CLASSES_ROOT\Applications\python.exe\shell\open\commandHKEY_CLASSES_ROOT\Applications\pythonw.exe\shell\open\command注册表项重新分配给"C:\Python27\python.exe" "%1" %*"C:\Python27\pythonw.exe" "%1" %*。我的问题的根源可能是由于以前在同一台计算机上安装了 python。这个答案与 eryksun 的评论基本相同,尽管键名略有不同。

于 2016-12-12T03:59:35.017 回答