windows系統下,首行# !/usr/bin/env python是不是沒有用?
01-01
如題
實驗了一下,發現沒用,還是只能用python+文件名運行。或者是我打開方式不對?我是在powershell中進入文件所在文件夾然後直接輸入文件名的,提示加.後,就是直接打開那個文件,不是在powershell中運行。
你可以在git bash裡面運行。power shell是不行的,如果在windows下寫python最好還是裝一個git bash,比較方便。
# !/usr/bin/env python 這個是用於*nix環境下的,它是用於指定執行的程序,不適用於Windows系統。直接在dos/powershell,./xx.py,是會用文件關聯的程序打開,如果你關聯的是記事本就是記事本打開,如果是python就是python來執行(當然程序執行很快可能窗口一閃而過),關聯程序可以右鍵屬性來設置。
是。
用cygwin里的shell就可以了,真的需要的話。
或者用這裡的方法 unix - Use shebang/hashbang in Windows Command Prompt。
google搜「windows shebang」有真相。這個有個專業辭彙,叫 Shebang (Unix)
還有類似的:#! /usr/bin/sh#! /usr/bin/ruby
沒用的,類unix系統才是根據文件頭決定腳本運行方式。windows是根據文件後綴決定打開方式的。
你應該設定.py後綴的文件,用python.exe打開。
有一定用途。
在 windows 中關聯 .py 文件到 C:Windowspy.exe,同理 .pyw 文件到 pyw.exe
然後在文件第一行添加 #!/usr/bin/python3 或 #!/usr/bin/python2,雙擊運行(或cmd直接aaa.py)會自動選擇對應的版本。
python加進環境變數就可以這樣用了
這個歸咎於操作系統
兩個系統設計的不同,這行在win下是無用的。
就像我是歌手胡彥斌看的是二胡,李健看的是白雪公主。
建議你看下*nux的入門書,很基本的一個問題,跟兩個平台的【.***】類似
這句話的意思是,讓這個目錄下的程序執行這段代碼,但是win下的路徑不和*nix路徑實現方式相同,所以基本上這行代碼在win下是廢的。mingw的bash可以用,cygwin的shell也可以。
所以歸根結底是shell的功能,與操作系統沒有關係。推薦閱讀:
※C 語言和 Python,該從哪個入門編程?
※那種編程語言比較適合新手?
※python多線程下載,進度條顯示問題如何解決?
※學習tornado/django/flask等python框架需要哪方面知識?
※Python web 開發一定要用框架嗎?有沒其它方法,類似 PHP 的語句?