Python 只用一行代码,可以实现哪些事儿?

只用一行 Python 代码或命令,就能做事儿是真的吗?python有这么强大吗?我们来试试,看看python能不能用一行代码来做事儿。

目前操作的系统是用windows进行测试的,是windows还是linux,命令都是一样的

一行 Python 命令实现

1、http 服务器:

python -m http.server

当我们执行完成python命名,显现信息如下:

Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...

我们发现http服务已经启动起来了,端口号为8000,在浏览器中输入127.0.0.1:8000,我们发现html网页打开了。

2、FTP 服务器

使用 pyftpdlib 来直接实现一个 FTP 服务器进行文件传输:

没有pyftpdlib这个库的时候需要安装,命令如下:

pip install pyftpdlib

接下来我们准备启动FTP服务器,命令如下:

python -m pyftpdlib

提示信息如下:

[I 2021-01-20 18:24:17] concurrency model: async
[I 2021-01-20 18:24:17] masquerade (NAT) address: None
[I 2021-01-20 18:24:17] passive ports: None
[I 2021-01-20 18:24:17] >>> starting FTP server on 0.0.0.0:2121, pid=6656 <<<

我们发现ftp的服务器启动起来了端口号为2121

在浏览器中输入ftp://127.0.0.1:2121 我们发打开了一个html网页,只是没有进行css美化,但是可以操作文件了,例如下载文件等

3、格式化 Json

有时候我们的Json 数据排版得很乱,如何格式化Json数据,使得数据看上去清晰而美观呢?

可以使用 json.tool 来格式化 Json,测试文件名为test.json,内容数据如下:

{"menuid": 1, "menuname": "java"}

现在Json内容数据在一行显示

在linux系统中执行命令如下:(cat命令只有Linux中才有)

cat test.json | python -m json.tool

在windows系统中执行命令如下:(windows没有cat命令用type命令代替)

type test.json | python -m json.tool

显示结果如下:

{
    "menuid": 1,
    "menuname": "java"
}

4、python -c

使用这个 -c 参数可以直接在终端中使用 Python 简单的代码:(第一行是命令,第二行显示的是结果)

python -c "a= [i for i in range(6)]; print(a)"
[0, 1, 2, 3, 4, 5]

5、分析性能

可以使用 cProfile 来分析你的 py 性能:

python -m cProfile .\manage.py

显示的部分信息如下:

1    0.000    0.000    0.000    0.000 __init__.py:1140(__init__)
3    0.000    0.000    0.000    0.000 __init__.py:1146(stream)