簡體   English   中英

Python 源 header 評論

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM