[英]Python source header comment
什么是線
#!/usr/bin/env python
在 python 腳本的第一行用於?
在 UNIX 和 Linux 中,這告訴使用哪個二進制文件作為解釋器(另見Wiki 頁面)。 例如 shell 腳本由/bin/sh
解釋。
#!/bin/sh
現在使用 python 有點棘手,因為你不能假設二進制文件安裝在哪里,也不能假設你想使用哪個。 因此/usr/bin/env
技巧。 它使用$PATH
中首先出現的 python 二進制文件。 您可以檢查執行which python
使用解釋器行,您可以通過將腳本 chmod 為可執行文件來運行腳本。 只是運行它。 因此以腳本開頭
#!/usr/bin/env python
這兩種方法是等價的:
$ python script.py
和(假設你之前已經完成了chmod +x script.py
)
$ ./script.py
這對於創建系統范圍的腳本很有用。
cp yourCmd.py /usr/local/bin/yourCmd
chmod a+rx /usr/local/bin/yourCmd
然后你可以從任何地方調用它
yourCmd
這稱為shebang線:
在計算中,shebang(也稱為 hashbang、hashpling 或 pound bang)指的是字符“#”。 當它們是文本文件中的前兩個字符時,類 Unix 操作系統將這兩個字符的存在作為文件是腳本的指示。 並嘗試使用文件第一行的 rest 指定的解釋器執行該腳本,例如:Bourne Z2591C98B70119FE624898B1E424B5E9 的 shell 腳本
在 UNIX 和類似的操作系統下,這一行告訴如果執行文件將使用哪個解釋器。
正如安德里所說。 在 Windows 中,從命令行啟動時運行文件的可執行文件依賴於關聯:
16:12:40.68 C:\>assoc .py
.py=Python.File
16:13:53.45 C:\>assoc Python.File
Python.File=Python File
16:14:01.70 C:\>ftype Python.File
Python.File="C:\Python30\python.exe" "%1" %*
在 Unix 中,shell 解釋器通過打開文件並查看文件中是否有命名命令來進行推斷。
'/usr/bin/env python' 在 $PATH 中搜索 python 並運行它。
通常env用於為程序設置一些環境變量
該行的作用是告訴您的計算機如何處理該文件,如果您只是嘗試運行該文件而不指定解釋器..更多詳細信息
請注意,這一行只不過是對Windows中的解釋器的注釋。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.