你应该知道的 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 开发中有用? 在下面的评论中分享它们!