Python脚本赢得';双击.py时,不能右键运行
我精通Python和编程,但双击打开.py文件时,我的程序无法正常工作。当我通过IDE(Pycharm)从命令行运行它时,它就会出现。基本上,当双击时,它将到达key=input(“enterdecode key:”)部分,然后在键入内容后,它将关闭。任何帮助都将不胜感激。我知道我的代码并不优雅,它只是需要工作。Python 3.5.2 如果有帮助的话,“key”的示例输入为23,“encoded”的示例输入为142128133123134142。它应该输出“窗口”,并在命令行和Pycharm中成功执行Python脚本赢得';双击.py时,不能右键运行,python,python-3.x,Python,Python 3.x,我精通Python和编程,但双击打开.py文件时,我的程序无法正常工作。当我通过IDE(Pycharm)从命令行运行它时,它就会出现。基本上,当双击时,它将到达key=input(“enterdecode key:”)部分,然后在键入内容后,它将关闭。任何帮助都将不胜感激。我知道我的代码并不优雅,它只是需要工作。Python 3.5.2 如果有帮助的话,“key”的示例输入为23,“encoded”的示例输入为142128133123134142。它应该输出“窗口”,并在命令行和Pycharm中
import sys
def main(key, encoded):
if encoded == 0: #This should run if program was double-clicked (no arguments)
encoded = input("Paste encoded JavaScript: ")
key = input("Enter decode key: ")
def decode(key, encoded): #Decode the data
encoded = encoded.split(',') #Split each section delimiting by a colon
decoded = []
for x in encoded:
x = int(x) - int(key) #Subtract the key from the number in each section
decoded.append(chr(x)) #Change from ASCII decimal code to the ASCII character
decoded = ''.join(decoded) #Join back into a string
print(".")
print(".")
print(".")
print(".")
print("Encoded data:")
print(encoded)
print("Decode key:")
print(key)
print("Decoded data:")
print(decoded)
return 0
decode(key, encoded) #Jump into the decode function
return 0
if __name__ == "__main__":
try:
if len(sys.argv) > 1: #If length is greater than 1, then there were arguments added upon program execution
key = sys.argv[1] #The "key" should be the first argument
encoded = sys.argv[2] #The "encoded" data should follow
else:
key = 0 #If length is anything else, then set them to 0 and ask for the data later
encoded = 0
main(key, encoded) #Jump into main function and pass the key and encoded arguments
finally:
input("Press Enter to exit")
轻松地在代码末尾放置一个输入(“”),这样脚本就固定在那里了轻松地在代码末尾放置一个输入(“”),这样脚本就固定在那里了我建议用异常处理来包装程序 下面是代码最后一部分的一个片段:
if __name__ == "__main__":
try:
if len(sys.argv) > 1:
# ...
finally:
input("Press the enter to exit")
通过执行此操作,无论您的程序是否成功完成或失败,都会收到一条提示,要求您按enter键。这将使您有机会在关闭窗口之前阅读屏幕上的内容
在程序失败的情况下,仅仅在程序末尾添加一个
输入(“”
)是不起作用的,您可以在这里指出可能会发生这种情况。我建议使用异常处理来包装程序
下面是代码最后一部分的一个片段:
if __name__ == "__main__":
try:
if len(sys.argv) > 1:
# ...
finally:
input("Press the enter to exit")
通过执行此操作,无论您的程序是否成功完成或失败,都会收到一条提示,要求您按enter键。这将使您有机会在关闭窗口之前阅读屏幕上的内容
如果程序出现故障,仅在程序末尾输入(“”)是不起作用的,您指出可能会发生这种情况。我想我刚刚解决了我的问题。出于某种原因,当你双击一个.py时,我的电脑仍然坚持使用Python 2.7,即使我的路径设置为Python 3.5,我右键单击以3.5打开,它只是在2.7中打开……因此,这只是打开了一个新问题。我想我刚刚解决了我的问题。出于某种原因,当你双击一个.py时,我的电脑仍然坚持使用Python 2.7,即使我的路径设置为Python 3.5,我右键单击以3.5打开,它只是在2.7中打开……因此,这只是打开了一个新问题。你可以在最后加上:
输入(“按Enter键退出”)
对不起,我刚刚更改了标题。起初,我认为它只是没有在最后暂停。但后来我意识到它甚至没有通过这个项目。它应该已经暂停打印出信息后(在那里我有y=输入),我不能完全告诉发生了什么。我想你粘贴的代码中有一些格式错误。我已经清理了一些代码。基本上,如果JavaScript中有一个编码部分用于正在使用的特定类型的重定向器。粘贴编码的部分,例如142128133123134142,69139134135,69131134122120139128134133,69127137124125,84,它将每个部分分开(用冒号分隔)并减去输入的键。然后它将其连接回一个字符串并输出该字符串。在上面的示例中,拆分后的“window.top.location.href='print yourencoded
”。我在你提供的复制字符串中得到了一些ascii字符。如果我把它打印出来,效果很好。你可以在最后加上:input(“按Enter键退出”)
对不起,我刚更改了标题。起初,我认为它只是没有在最后暂停。但后来我意识到它甚至没有通过这个项目。它应该已经暂停打印出信息后(在那里我有y=输入),我不能完全告诉发生了什么。我想你粘贴的代码中有一些格式错误。我已经清理了一些代码。基本上,如果JavaScript中有一个编码部分用于正在使用的特定类型的重定向器。粘贴编码的部分,例如142128133123134142,69139134135,69131134122120139128134133,69127137124125,84,它将每个部分分开(用冒号分隔)并减去输入的键。然后它将其连接回一个字符串并输出该字符串。在上面的示例中,拆分后的“window.top.location.href='print yourencoded
”。我在你提供的复制字符串中得到了一些ascii字符。如果我把它打印出来,效果很好。谢谢。我已经用它更新了代码,并用注释解释了一切。输入解码键后,程序直接暂停(最后一部分)。为什么不直接使用解码功能呢?这个问题的格式是+1,我希望这个网站上的每个人都像你一样小心。请尝试在try语句之前添加print sys.argv
?这可能会有一些启发。所以,我试过了,我得到的只是文件的路径。这应该发生。但是,我有一个无关的更新。所以,我当时正在工作(这里将使用它),由于我们在那里使用的是Python2.7,所以不得不对一些东西进行转换。一旦我这么做了,一切都很顺利。我唯一改变的是没有括号的打印和原始输入。我甚至在家里做了这件事,同时仍然使用Python 3.5,它也可以工作。什么问题?谢谢。我已经用它更新了代码,并用注释解释了一切。输入解码键后,程序直接暂停(最后一部分)。为什么不直接使用解码功能呢?这个问题的格式是+1,我希望这个网站上的每个人都像你一样小心。请尝试在try语句之前添加print sys.argv
?这可能会有一些启发。所以,我试过了,我得到的只是文件的路径。这应该发生。但是,我有一个无关的更新。所以,我在工作(这里将使用)时