你應該知道的 20 多個基本 Python 命令

已發表: 2022-08-03

Python 是目前最流行的編程語言之一。 它是一種強大而簡單的語言,幾乎可以在任何開發環境中使用。

2021 年 Stack Overflow 調查顯示,Python 是大多數開發人員最想使用的編程語言。

Python 是最受歡迎的語言,佔 19.04%,Typescript 以 15.29% 緊隨其後,排在前 3 名,JS 佔 14.59%。
堆棧溢出調查。
您需要將此添加為書籤以供以後使用,並在您的下一個項目中節省一些時間點擊鳴叫

借助 Jupyter Notebook、Google Colaboratory 和在線編譯器等工具,您可以開始使用這種語言,而無需擔心安裝任何東西。

但是,如果您想更進一步並享受 Python 等通用語言的真正力量(尤其是通過創建複雜的應用程序),您遲早需要學習使用 CLI 或命令行界面。

大多數開發人員都同意,學習 Python 中最令人生畏的部分之一是 CLI。 但是,只需幾個命令,您就可以立即掌握它。

在本文中,您將學習 Python 開發中最有用的命令。

什麼是命令行界面?

命令行界面(通常縮寫為 CLI)是一種基於文本的程序,用於運行程序並執行與操作系統 (OS) 相關的任務,例如創建和管理文件。

CLI 以命令的形式接受來自鍵盤的輸入,並將它們傳遞給 shell 或命令解釋器。 這些 shell 解釋用戶給出的命令,執行它們並返回通常稱為輸出的結果。

CLI 可以執行不同的 shell。 此屏幕截圖顯示了兩個不同的 CLI,一個使用 Python shell,另一個使用 Bash:

Python 和 Bash shell 在兩個不同的 CLI 中打開,顯示 print 和 neofetch 命令的輸出。
Python 和 Bash 外殼。

這兩個概念經常被混淆,所以這裡是細分:

  • CLI是基於文本的界面,您可以在其中鍵入命令並獲取這些命令的輸出。 它可以執行不同的shell。
  • shell是一種能夠與操作系統交互的命令解釋器。

信不信由你,系統運行的每個程序都包含一個命令。 您每天與之交互的窗口 (GUI) 由觸發命令的綁定組成,這些命令讓您可以與操作系統進行交互。

你在 Python 開發中需要 CLI 嗎?

要成為一名有效的全棧開發人員,您需要對命令行有紮實的了解。 這是因為大多數後端框架需要直接與 CLI 進行某種形式的交互,如果您打算自己部署應用程序,命令行將是您最好的朋友。

如今,您可以從無數在線服務以及 IDE 中運行 Python,從而更輕鬆地執行您的程序。 但是,如果您從事 Web 開發——尤其是後端、任務自動化、區塊鏈、通過 SSH 使用遠程計算機或管理 Docker 等 Python 友好工具,您肯定需要處理 CLI。

事實上,Python 有大量的庫來構建 CLI 應用程序,例如 Typer、Argsparse 和 Click。 您可以從一個 CLI 用戶轉變為您自己的 CLI 應用程序的創建者! 這展示了 CLI 環境和 Python 之間的緊密聯繫。

掌握 CLI 後,作為 Python 程序員執行任務會容易得多,並且在使用 PHP、C、C++ 或 Java 等其他編程語言時會看到優勢。

CLI 簡介

根據您運行的操作系統,您會發現使用命令行的方式有所不同。 每個操作系統都有自己的打開 CLI 並與之交互的方式,因為它們的文件組織結構和默認命令 shell 不同。

讓我們來看看開發人員最常用的三種操作系統:Windows、Mac 和 Linux。

視窗

Windows 是最流行的桌面操作系統,主要是因為它的價格標籤和易用性。 如果要在 Windows 中訪問 CLI,則必須打開程序“命令提示符”或“Windows Powershell”。

請記住,Windows 使用\而不是/來表示路徑。 瀏覽目錄時應牢記這一點。

同樣在 Windows 上,您可以選擇安裝 Git Bash,這是一個模擬 Windows 中 Bash shell 行為的命令行。 這將使下面顯示的大多數 Unix 命令與您的系統兼容。

蘋果電腦

對於 Mac,命令行可從名為“終端”的內置應用程序訪問。 您可以使用 Launchpad 搜索它,或在“應用程序”下的“實用程序”文件夾中找到它。

Linux

在 Linux 上,根據您使用的發行版,您有許多不同的選項,但命令“Ctrl + Alt + T”通常會觸發系統中的默認終端。

現在,您應該有一個類似於下圖的窗口:

Manjaro Linux CLI 顯示系統狀態。
命令行界面。

用於 Python 開發的 20 多個最有用的 CLI 命令

打開 CLI 後,就該深入研究頂級 shell 命令了,這將使您作為 Python 開發人員的生活更加輕鬆。

安裝命令

您可能已經偶然發現了一百萬種安裝 Python 的方法。 但有時,只用一個命令就更方便了。

以下是可幫助您跨不同操作系統安裝 Python 的不同命令。

1.巧克力味

在 Windows 上,默認情況下您沒有包管理器。 解決這個問題的一種選擇是 Chocolatey,它為您提供了可以直接從命令行安裝的程序——顯然包括 Python。

確保在運行以下命令之前安裝 Chocolatey:

 choco install python --pre

2. Homebrew 和 Pyenv

macOS 默認安裝了 Python 2.7。 但是,現在不推薦使用 Python 2.7。 整個社區已經轉向 Python 3。為了有效地管理 Python 版本,您可以使用 pyenv 之類的程序。

打開命令行並使用以下命令安裝最新版本的 Homebrew(像 Chocolatey 這樣的包管理器):

 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

然後你可以使用這個簡單的命令安裝 pyenv:

 brew install pyenv

您可以安裝特定的 Python 版本並將其設置為全局 Python 可執行文件,而不是 Python 2:

 pyenv install 3.10 # Version you want pyenv global 3.10.4 # Sets that version as default

現在,如果您調用 Python,它將是您使用 pyenv 設置的版本:

 python # Python 3.10.4 .... # >>>

3. apt、pacman 和 dnf

隨著 Python 在開源軟件中的廣泛使用,大量 Linux 發行版都預裝了 Python。 如果您的系統沒有,您可以使用包管理器安裝 Python。

在基於 Debian 的發行版(Ubuntu、Linux Mint、Kali Linux)中,您將使用 apt,它代表“高級軟件包工具”:

 sudo apt update sudo apt install python3

此外,如果要將 Python 3 設置為默認 Python 解釋器,可以使用以下命令:

 sudo apt install python-is-python3

在基於 Arch 的發行版中,您可以使用官方的包管理器 pacman:

 sudo pacman -S python

在 Fedora 和基於 RPM 的 Linux 發行版(Red Hat、CentOS)中,您使用 dnf:

 sudo dnf install python3

解釋器命令

讓我們快速回顧一下 Python 命令及其包管理器 pip 的主要標誌——命令行選項。

4.蟒蛇

python命令有幾個標誌,表示修改代碼執行行為的選項。

首先,要執行 Python 文件,只需調用解釋器並添加文件名,包括.py擴展名:

 python helloworld.py

如果您需要記住標誌的作用,可以在以下 3 個演示文稿中的任何一個中使用help標誌:

 python -? python -h python --help

要打印(查看)您正在運行的 Python 版本,請使用以下命令:

 python -V python --version

如果您想在不打開和編輯.py文件的情況下運行 Python 代碼,可以使用命令標誌直接從終端執行它:

 # Hello, World! python -c "print('Hello, World!')"

m標誌將 Python 模塊作為腳本執行。 當您想使用內置的venv模塊創建虛擬環境時,這非常有用:

 python -m venv .venv

5.點

pip 命令在 Python 包索引 (PyPI) 中查找包,解析依賴項,並安裝您指定的包版本。

要安裝 Python 包,只需鍵入pip和要安裝的包的名稱。

以下命令將安裝最新版本的軟件包:

 pip install django

如果您需要特定版本,請運行以下命令:

 # pip install package==version pip install django==4.0.4

在處理協作項目時,您需要跟踪依賴關係,通常使用需求文件。 使用r標誌,您可以從文本文件中讀取和安裝軟件包:

 pip install -r requirements.txt

另一個常用的功能是freeze標誌。 它用於輸出您在環境中安裝的軟件包版本列表。 您可以使用它將依賴項輸出到需求文件:

 pip freeze >> requirements.txt

權限命令

Python 非常擅長編寫腳本和文件處理。 要處理這些任務,您需要了解權限在操作系統中的工作方式。

6. sudo,runas

在基於 Unix 的系統(macOS、Linux、BSD)中,您必須具有超級用戶權限才能執行某些任務,例如安裝程序,就像我們上面所做的那樣。

sudo 命令允許您短暫獲得管理員權限以執行這些命令之一。

以下是全局安裝 ueberzug(圖像預覽 Python 包)的示例:

 sudo pip install ueberzug

Windows 等效的是 Runas,它以不同用戶或管理員身份執行腳本:

 runas /noprofile /user:Administrator cmd

還有其他項目,例如 Gsudo,這使得權限提升過程比使用其他內置 Windows 命令更容易:

 :: Installs gsudo choco install gsudo :: Reads a file named MySecretFile.txt gsudo type MySecretFile.txt

7. chmod

chmod用於更改 Unix 中文件和目錄的權限。

一個常見的用法是使 Python 腳本可執行:

 # Makes mypythonscript.py executablechmod +x mypythonscript.py

使腳本可執行後,您可以使用./符號直接運行它:

 # Runs the script ./mypythonscript.py

導航命令

在命令行界面中導航文件系統是 Python 開發人員的日常任務。 以下是使用 Python 編程時用於導航系統的一些基本命令。

8. ls,目錄

要列出目錄(文件夾)的內容,您必須使用ls (Unix) 或dir (Windows) 命令。 這可能是您第一次遇到 CLI 時學到的第一個命令。

這是使用的語法:

 ls # Shows the contents of the working directory ls mydirectory

以下是本地文件系統中文件夾內容的示例:

 ls test_python/ # classes_error.py radius.py test-Django

該命令有許多有用的標誌。 事實上,它通常別名為ls -al來查看隱藏文件(那些以點開頭的文件)以及每個文件的模式、大小和日期:

 alias ls="ls -al" # Results total 20 drwx------ 3 daniel daniel 4096 ene 16 19:13 . drwxr-xr-x 36 daniel daniel 4096 may 17 22:18 .. -rw------- 1 daniel daniel 32 nov 17 2020 classes_error.py -rw------- 1 daniel daniel 327 nov 10 2020 radius.py drwx------ 4 daniel daniel 4096 ene 16 01:07 test-Django

對於 Windows,您可以使用ls使用 Git Bash,也可以使用內置的dir命令:

 dir

9.密碼

pwd代表“打印工作目錄”,它正是這樣做的:為您提供您所在目錄的完整路徑:

 pwd # /home/daniel/github/HTML-site/images

如果您曾經在終端中迷失過自己,那麼這個命令就是救命稻草。

您可以在 Windows 中使用不帶參數的cd命令來實現相同的輸出(請注意,Unix 中的相同命令會將您帶到主目錄):

 # Only on Windows cd # D:\Folder\subFolder

10.cp

使用圖形文件管理器複製文件很直觀,但效率低下。 使用此命令,您可以在系統上複製任何類型的文件:

 cp old_file.txt copy_old_file.txt

要復制目錄的所有內容,您必須使用cp -r

 cp -r originaldirectory/ newdir

Windows 中cp的等價物是copy

 copy old_file.txt copy_old_file.txt /a

11. 貓,打字

要在終端中打印文本文件的內容而不用編輯器打開文件,您可以在 Unix 上使用catmoreless ,並在 Windows 上type

 cat old_file.txt # Unix type old_file.txt # Windows # Content Hi there I hope you're enjoying the article ... as much as I've enjoyed writing it! End of the sample.

12. mv,移動

mv命令將文件和目錄從一個目錄移動到另一個目錄——基本上是剪切和粘貼——或者如果目標不存在則重命名文件:

 # Rename files mv source_file.txt renamed_file.txt
 # File to another directory mv renamed_file.txt newdir/

您還可以使用模式匹配來移動文件。 例如,將所有.py文件移動到另一個文件夾:

 mv *.py mypythondir/

Windows 上的等效命令是move ,其功能與上述幾乎相同:

 # Windows move source_file.txt renamed_file.txt

13. rm, 德爾

您可以使用rm命令刪除文件和目錄。

要刪除文件而不是目錄,您可以使用:

 rm file_to_remove.txt

如果要刪除空目錄,可以使用遞歸 ( -r ) 標誌:

 rm -r dir_to_remove/

要刪除包含內容的目錄,您將使用 force ( -f ) 和遞歸標誌:

 rm -rf dir_with_content/

以類似的形式,您可以在 Windows 上找到del 。 更加謹慎,因為此命令沒有上面看到的阻止標誌:

 del \mywindowsdir

14. 退出

完成 Python 編程後,您應該能夠退出 shell 會話。 在大多數情況下,這也會關閉您正在使用的終端:

 exit

請注意,此命令適用於 Windows 和 Unix。

命令行編輯器

一旦您習慣了命令行,您會發現更改窗口甚至​​使用鼠標來編輯代碼都比較慢。

在您留在命令行中時擁有編碼能力不僅是節省時間的好方法,而且還可以讓您在隊友中看起來像超級英雄!

以下是一些最常用的命令行編輯器。

15. Vim/Neovim

Vim 及其後代 Neovim 是基於鍵盤的文本編輯器,主要用於命令行。 根據 2021 年 Stack Overflow 調查,他們在最受開發者喜愛的編輯器中排名第 4 和第 1。

調查結果顯示 Neovim 是最受歡迎的編輯器,Vim 排名第四。
最喜歡的代碼編輯器。

Vim 預裝在 Linux 和 macOS 上。 實際上,它是您在與服務器交互時會遇到的最多的編輯器。 在 Windows 上,您需要使用 Vim 頁面中的可執行安裝程序來安裝它。

現在,您只需在命令行中輸入 Vim 的名稱即可享受 Vim 的強大功能:

 vim

這將觸發一個基於文本的界面,其中包含多個鍵盤組合,用於您在 Python 中編碼時可能需要的每個操作。

Vim 有一個陡峭的學習曲線,但是一旦你掌握了它,你就不會很快轉向其他東西。

Vi 改進。

16.納米

Nano 是另一個主要用於快速編輯的命令行文本編輯器。

假設您在代碼中引入了語法錯誤,但不想打開編輯器來更正它。 Nano 可幫助您直接從 CLI 修復它:

 nano

17. Emacs

Emacs 是您能找到的最具擴展性和可定制性的文本編輯器之一。 它有一個專門用於 Python 編程的部分,您可以在其中找到大量插件來增強您的開發體驗。

Emacs 幾乎在所有操作系統中都可用,因此如果您尚未安裝,請查看下載說明。

要從命令行類型打開 Emacs,請使用無窗口系統標誌 ( -nw ):

 emacs -nw

開發工具

Python 開發不僅意味著編碼,還意味著處理其他工具,例如虛擬環境、版本控制系統和部署工具。

通過學習以下命令,您將在使用 Python 開發任何類型的應用程序時獲得優勢。

18. 虛擬環境/venv

虛擬環境是 Python 開發中使用的一項關鍵技術。 使用它們,您可以將跨不同項目使用的包隔離到一個輕量級文件夾中,通常命名為.venv

使用 Python 3.3 或更高版本,您可以使用內置的 venv 模塊來創建虛擬環境:

 # .venv being the name of the virtual environment python -m venv .venv

virtualenv 是一個外部項目,與內置選項相比,它更快、更具可擴展性。 要創建虛擬環境,首先安裝 virtualenv 包:

 # Installs virtualenv pip install --user virtualenv # Creates a .venv virtual environment virtualenv .venv

接下來,您需要激活虛擬環境。 在 Windows 上,根據您使用的是 cmd 還是 PowerShell(推薦)運行以下命令之一:

 :: PowerShell .venv\Scripts\Activate.ps1
 :: Cmd .venv\Scripts\activate.bat

在 Linux 或 macOS 上:

 source .venv/bin/activate

19. 吉特

版本控制是軟件開發中最重要的實踐之一。 它使我們能夠跟踪所有代碼修改,與其他開發人員協作,並清楚地了解整個開發過程。

Git 是迄今為止最常用的版本控制系統。 您可以從其下載頁面安裝它。

安裝後,您可以打開終端並使用以下命令查看所有可用選項:

 git help

要創建存儲庫,請使用git init並輸入存儲庫的名稱:

 git init name_repository Initialized empty Git repository in /home/daniel/name_repository/.git/

請注意,這只會創建一個本地 Git 存儲庫。 如果您想擁有一個遠程存儲庫來在線存儲所有更改,您應該使用 GitHub 或 BitBucket 之類的平台。

要克隆遠程存儲庫,您將使用git clone和存儲庫的源。 在下面的示例中,我們通過 SSH 克隆 GitHub 存儲庫:

 git clone [email protected] :DaniDiazTech/HTML-site.git ... Cloning into 'HTML-site'... remote: Enumerating objects: 24, done. remote: Counting objects: 100% (24/24), done. remote: Compressing objects: 100% (18/18), done. remote: Total 24 (delta 6), reused 21 (delta 4), pack-reused 0 Receiving objects: 100% (24/24), 4.98 MiB | 438.00 KiB/s, done. Resolving deltas: 100% (6/6), done.

20. 碼頭工人

Docker 使將 Python 應用程序打包和發佈為輕量級、可移植、自給自足的容器變得更加容易。 它有助於開發和部署,允許所有協作者使用相同的設置。

要使用 Docker,您必須嚴格遵循獲取 Docker 頁面上為您的操作系統顯示的安裝過程。

要列出可用的 Docker 命令,請運行以下命令:

 docker help

在這個狹窄的部分中很難解釋如何運行 Docker compose,因此請務必查看官方文檔。

21. 格雷普

Grep 是一個基本的命令行實用程序,用於在純文本文件中進行模式匹配。

一個常見的用法是查找一個單詞在文件中重複的次數:

 grep -ic python pythondocument.txt 2

在上面的示例中,我們獲得了在pythondocument.txt文件中找到 Python(不區分大小寫)的次數。

grep 的 Windows 等效項是 findstr。 但是,它不是完全相同的程序。 您可以使用 Git Bash 在 Windows 中使用 grep:

 findstr /i /C python pythondocument.txt 2

22.HTTPie

HTTPie 是一個命令行 HTTP 客戶端,可以更輕鬆地與 Web 服務交互。 例如,您可以使用它來測試您的 Python API,或與第三方網站進行交互。

這個 CLI 工具幾乎在每個包管理器中都可用,如 HTTPie 的官方文檔所示。 但是,它也可以作為 Python 包提供,因此您可以使用 pip 安裝它。

 pip install httpie

以下是查詢遠程 API 的方式——在本例中為 GitHub API:

 http GET https://api.github.com/users/danidiaztech HTTP/1.1 200 OK Accept-Ranges: bytes Access-Control-Allow-Origin: * ...

23. 平

ping是一個 CLI 命令,默認情況下幾乎可以在任何操作系統上使用。 它的工作原理是向 IP 地址發送數據包並測試傳輸數據和接收響應所需的時間,然後以毫秒為單位顯示結果

該命令主要用於驗證兩台機器之間的連接,即你的機器和你在 web 服務器上的 Python 應用程序:

 ping kinsta.com PING kinsta.com(2606:4700:4400::ac40:917d (2606:4700:4400::ac40:917d)) 56 data bytes 64 bytes from 2606:4700:4400::ac40:917d (2606:4700:4400::ac40:917d): icmp_seq=1 ttl=50 time=686 ms

命令參考表

下面,您可以找到我們討論過的每個命令的快速參考:

命令用法
choco 在 Windows 上安裝包
brew macOS 包管理器
apt, pacman, dnf 不同 Linux 發行版上的包管理器
python 運行 Python 解釋器
pip Python 包管理器
sudo, runas 用於擴展權限的 Unix 和 Windows 程序
chmod 更改文件權限
ls 列出目錄的內容
pwd 打印工作目錄
cp 複製文件和目錄
cat 打印文件內容
mv, move 移動(重命名)文件和目錄
rm, del 刪除文件和目錄
exit 退出當前 shell 會話
vim, neovim 高效的文本編輯
nano 用於快速編輯的文本編輯器
emacs 最可定制的編輯器
virtualenv, venv 虛擬環境生成器
git 版本控制系統
docker 容器化應用
grep 模式匹配實用程序
http Web 服務測試實用程序
ping 測試網絡連接
kill 終止程序

概括

Python 是最容易學習的編程語言之一。 您會發現的唯一絆腳石是當您在不了解您需要的命令的情況下進入命令行時。
大多數開發人員都同意,學習 Python 中最令人生畏的部分之一是 CLI。 但只需幾個命令,您就可以立即掌握它點擊鳴叫
在本文中,您了解了命令行及其用於 Python 開發的一些最流行的命令。

您還發現哪些其他命令在 Python 開發中有用? 在下面的評論中分享它們!