假設我有一個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