假设我有一个Python脚本,我想通过在命令行之外执行来运行,只需在文件资源管理器中双击即可。当我现在双击.py
文件时,一个黑色的命令行框会短暂出现,然后消失。我需要在文件中写入以启用此功能?使Python脚本可执行
我会对Windows和Linux机器的答案感兴趣!
假设我有一个Python脚本,我想通过在命令行之外执行来运行,只需在文件资源管理器中双击即可。当我现在双击.py
文件时,一个黑色的命令行框会短暂出现,然后消失。我需要在文件中写入以启用此功能?使Python脚本可执行
我会对Windows和Linux机器的答案感兴趣!
你的脚本是正在运行,当它完成时,它正在关闭。要查看结果,你需要添加一些东西来阻止它。尝试添加这是在脚本中的最后一行:
staller = intput("Press ENTER to close")
在Linux下,你将不得不作出.py
文件可执行
chmod 750 mypyprog.py
添加适当的家当在第一线,使外壳或文件浏览器知道正确的解释
#!/usr/bin/python3
print('Meow :3') # <- replace this by payload
如果您要查看的结果之前的shell窗口正在关闭,一个staller末(如图MackM)为u seful:
input('Press any key...')
当我们从评论看,你已经掌握了步骤1和2,所以3将成为你的朋友。
Windows不知道shebangs。您必须将.py
扩展名与Python解释器相关联,如in the documentation所述。 Python解释器不必位于PATH
中,因为可以在那里指定完整路径。
shebang也可以是'#!/ usr/bin/env python3' 。这更加灵活,因为它不关心python3的安装位置。 – cezar 2014-09-25 18:53:03
Im相当肯定正确的方式做,这会是这样的
#somefile.py
def some_definition_you_want_to_run():
print("This will print, when double clicking somefile.py")
#and then at the bottom of your .py do this
if __name__ == "__main__":
some_definition_you_want_to_run()
#next line is optional if you dont "believe" it actually ran
#input("Press enter to continue")
这使得它,所以,只要是下如果从外部(打开时,声明发生而不是当你导入它,因为“ name“doesnt ==”main“at 0127)当然,如果你想要运行它,只需双击它即可。它运行的BOOM。
我没有足够的Linux熟悉度来确认它是如何在Linux上工作的,但它绝对可以在Windows上工作。其他人确认这一点?
你是一台linux机器还是windows? – 2014-09-25 18:02:23
我主要使用Windows,但我对这两种情况都感兴趣! – Karnivaurus 2014-09-25 18:04:25
当你双击一个.py文件时,会发生什么?黑匣子是否出现然后消失? – MackM 2014-09-25 18:07:09