一. 下载服务器

Python 内置了一个下载服务器,只需要进去目标目录,执行下面的启动命令即可:
Python2:

  1. mia@ubuntu:~/Desktop$ ls
  2. a.txt b.txt c
  3. mia@ubuntu:~/Desktop$ python2 -m SimpleHTTPServer
  4. Serving HTTP on 0.0.0.0 port 8000 ...

SimpleHTTPServer 启动之后, 局域网内的任意一台电脑通过访问 [http://192.168.6.126:8000/](http://192.168.6.126:8000/) 地址来下载文件:
实用的 Python 内置小工具 - 图1
SimpleHTTPServer 启动的下载服务器
Python3:
Python3 对系统库进行了重新整理,因此启动方式也会有所不同。Python3 执行以下命令,也会在当前目录下启动一个文件下载服务器,默认打开 8000 端口,也可以自行指定端口:

  1. mia@ubuntu:~$ python3 -m http.server 8001
  2. Serving HTTP on 0.0.0.0 port 8001 (http://0.0.0.0:8001/) ...

实用的 Python 内置小工具 - 图2
http.server 启动的下载服务器

注:上述的 Python 语句本质上是启动了一个 Python 内置的 Web 服务器。如果当前目录下存在 index.html 文件,则会显示一个 html 页面。反之,则显示当前目录下的文件列表,也就是我们上面看到的下载服务器。

二. JSON 格式化工具

JSON 是一种非常流行的数据交换格式,即易于人类阅读和编写,同时也易于机器解析和生成。在日常工作中,我们经常需要将 JSON 字符串转换为 JSON 对象,普遍的一种做法是,打开浏览器搜索 “在线JSON格式化工具”。
除此之外,在命令行中,我们可以借助 python -m json.tool 解析 JSON 字符串。下面的 JSON字符串直接阅读会非常困难:

  1. mia@ubuntu:~/Desktop$ echo '{"own_collections":[],"own_collections_page":1,"own_collections_total_pages":0,"manageable_collections":[],"manageable_collections_page":1,"manageable_collections_total_pages":0,"notebooks":[{"id":50215835,"name":"Python > 每日get一个技能","book":false},{"id":50111086,"name":"环境搭建和工具使用","book":false},{"id":49600701,"name":"数据分析 > 常用库","book":false}],"notebooks_page":1,"notebooks_total_pages":1}'
  2. {"own_collections":[],"own_collections_page":1,"own_collections_total_pages":0,"manageable_collections":[],"manageable_collections_page":1,"manageable_collections_total_pages":0,"notebooks":[{"id":50215835,"name":"Python > 每日get一个技能","book":false},{"id":50111086,"name":"环境搭建和工具使用","book":false},{"id":49600701,"name":"数据分析 > 常用库","book":false}],"notebooks_page":1,"notebooks_total_pages":1}

可以使用管道操作符,作为输入传递给 json.tool

  1. mia@ubuntu:~/Desktop$ echo '{"own_collections":[],"own_collections_page":1,"own_collections_total_pages":0,"manageable_collections":[],"manageable_collections_page":1,"manageable_collections_total_pages":0,"notebooks":[{"id":50215835,"name":"Python > 每日get一个技能","book":false},{"id":50111086,"name":"环境搭建和工具使用","book":false},{"id":49600701,"name":"数据分析 > 常用库","book":false}],"notebooks_page":1,"notebooks_total_pages":1}' | python -m json.tool
  2. {
  3. "manageable_collections": [],
  4. "manageable_collections_page": 1,
  5. "manageable_collections_total_pages": 0,
  6. "notebooks": [
  7. {
  8. "book": false,
  9. "id": 50215835,
  10. "name": "Python > \u6bcf\u65e5get\u4e00\u4e2a\u6280\u80fd"
  11. },
  12. {
  13. "book": false,
  14. "id": 50111086,
  15. "name": "\u73af\u5883\u642d\u5efa\u548c\u5de5\u5177\u4f7f\u7528"
  16. },
  17. {
  18. "book": false,
  19. "id": 49600701,
  20. "name": "\u6570\u636e\u5206\u6790 > \u5e38\u7528\u5e93"
  21. }
  22. ],
  23. "notebooks_page": 1,
  24. "notebooks_total_pages": 1,
  25. "own_collections": [],
  26. "own_collections_page": 1,
  27. "own_collections_total_pages": 0
  28. }

三. 检验第三方库是否正确安装

安装完一个第三方库,我们都知道在 python shell 中直接 import 一下,观察是否有报错,即可检验第三方库是否正确安装:

  1. mia@ubuntu:~/Desktop$ pip2 list --format=columns | grep -iE flask
  2. Flask 1.1.4
  3. mia@ubuntu:~/Desktop$ python
  4. Python 2.7.17 (default, Feb 27 2021, 15:10:58)
  5. [GCC 7.5.0] on linux2
  6. Type "help", "copyright", "credits" or "license" for more information.
  7. >>> import flask
  8. >>>

但如果是想在脚本中实现上述验证操作,则需要借助 Python 解释器的 -c 参数来执行 import 语句:

  1. mia@ubuntu:~/Desktop$ python2 -c "import flask"
  2. mia@ubuntu:~/Desktop$ pip2 list --format=columns | grep -iE numpy
  3. mia@ubuntu:~/Desktop$ python2 -c "import numpy"
  4. Traceback (most recent call last):
  5. File "<string>", line 1, in <module>
  6. ImportError: No module named numpy

使用 python -c "import xxx" ,不但比交互式的验证更加高效,更重要的是,能够写入脚本,适用于更多的场景。

作者:山药鱼儿
链接:https://www.jianshu.com/p/9fc5a4ec9e83
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。