你真的会使用 Python 命令吗?

开发 后端
我想你最常用到的 Python 命令就是运行 Python 脚本文件,像这样:python xxx.py。不过你知道为什么这样就可以直接执行 Python 代码么?

我想你最常用到的 Python 命令就是运行 Python 脚本文件,像这样:

python xxx.py

不过你知道为什么这样就可以直接执行 Python 代码么?

还有, Python 还有一些常用的命令可玩,你试过吗?

 

你真的会使用 Python 命令吗?

接下来,就是学习 Python 的正确姿势:

 

你真的会使用 Python 命令吗?

我们来说说那些我们常用到的 Python 命令。

python xxx.py

当你通过 Python 执行脚本文件的时候,sys.argv[0] 会存储这个 py 文件名称:

 

你真的会使用 Python 命令吗?

 

你真的会使用 Python 命令吗?

而当你在 python xxx.py 后面再添加一些参数的时候,sys.argv 也同样可以接收到相关的参数:

 

你真的会使用 Python 命令吗?

 

你真的会使用 Python 命令吗?

而且,它会把你的执行的 py 文件路径添加到 sys.path 中来,将它作为主模块来运行:

 

你真的会使用 Python 命令吗?

除了直接使用 python 执行脚本文件之外,你也可以使用 Python 执行整个 Python 项目目录或者压缩文件,不过在这里面你需要定义一个 __main__.py ,要不然解释器无法识别运行:

 

你真的会使用 Python 命令吗?

而当你的目录中有定义 __main__.py 的时候,它就可以将 main 添加到 sys.path 中来,作为 main 模块执行:

 

你真的会使用 Python 命令吗?

除此之外,你还可以直接使用脚本的文件执行 Python 代码,在你的脚本文件的第一行定义 Python 环境:

 

你真的会使用 Python 命令吗?

接着添加脚本文件的执行权限,然后就可以直接用脚本文件名称直接运行 Python 了:

 

你真的会使用 Python 命令吗?

python -c

使用 python -c 可以让你在命令行中写 Python 代码执行,可以使用 ; 进行代码分行:

 

你真的会使用 Python 命令吗?

一种更好的方式是使用空行对代码进行分行:

 

你真的会使用 Python 命令吗?

当你在 python 解释器中使用 -c 命令的时候,它会将 -c 添加到 sys.argv[0] 中,将当前的路径添加到 sys.path 中:

 

你真的会使用 Python 命令吗?

python -m

使用 -m 模块可以以脚本的方式执行 Python 的模块或者包,因为执行的是模块,所以就不用像执行脚本文件那样把 .py 扩展名称写出来。

 

你真的会使用 Python 命令吗?

 

你真的会使用 Python 命令吗?

可以看到,模块的完全路径会添加到 sys.argv[0],将当前的路径添加到 sys.path 中,将模块名作为 main 执行。

你能体会到 python xxx.py 和 python -m xxx 之间的区别么?

当然,你也可以使用 -m 来执行包中的模块:

 

你真的会使用 Python 命令吗?

通过 -m 的形式,解释器会通过搜索路径找到相应的模块执行,这样你就不需要想执行 .py 那样写入文件的绝对路径啦。

使用 python -m 的一个常用场景是在不同的版本环境中执行相应的模块,比如使用 pip 安装模块的时候:

 

你真的会使用 Python 命令吗?

 

你真的会使用 Python 命令吗?

 

你真的会使用 Python 命令吗?

python -i

当你使用 -c 命令的时候,还想执行完相关代码后进入 Python 交互模式就可以使用 -i :

 

你真的会使用 Python 命令吗?

还有其它的命令,你可以通过 python -h 找到相关的解释:

 

你真的会使用 Python 命令吗?

可能有时候你也想要提供一些命令给别人使用,Python 内置了一个 argparse 的库,你可以使用它来创建你要提供的命令,比如这样:

 

你真的会使用 Python 命令吗?

执行的时候就可以使用相关的命令了:

 

你真的会使用 Python 命令吗?

除此之外,还有一个叫做 click 的第三方库,也是用来创建命令的,不同的是它可以用装饰器的方式实现,你可以直接使用 @click.option 来定义命令选项,用起来相对简单,这是一个官方的例子:

 

你真的会使用 Python 命令吗?

使用起来是这样的:

 

你真的会使用 Python 命令吗?

 

你真的会使用 Python 命令吗?

当然,它还提供了多种创建命令的方式,你可以在以下链接中找到:

  • https://click.palletsprojects.com/en/6.x/

ok,以上就是小帅b今天给你带来的分享,希望对你有帮助,那么我们下回见,peace!

责任编辑:未丽燕 来源: 今日头条
相关推荐

2020-12-09 10:34:51

htopLinux命令

2021-05-12 07:50:05

Linux运维Linux系统

2022-09-13 12:10:04

unlink删除文件

2023-07-03 08:01:38

AI模型AIGC

2022-03-25 09:39:50

LinuxLinux top

2022-06-12 16:05:22

vimLinux

2013-08-09 09:49:08

云计算IT

2011-11-25 10:21:44

云计算

2016-06-01 15:42:58

Hadoop数据管理分布式

2022-07-26 00:00:22

HTAP系统数据库

2014-04-17 16:42:03

DevOps

2020-04-17 14:25:22

Kubernetes应用程序软件开发

2019-08-12 16:22:07

Python线程场景

2023-12-10 13:37:23

Python编程上下文管理

2021-04-23 07:27:31

内存分配CPU

2021-01-15 07:44:21

SQL注入攻击黑客

2022-08-15 10:42:50

千兆网络千兆光纤

2021-11-09 09:48:13

Logging python模块

2023-03-16 10:49:55

2012-10-24 10:16:17

IT工程师云计算网络管理
点赞
收藏

51CTO技术栈公众号