我们将会介绍4个Python解释器自身提供的小工具。
这些小工具在笔者的日常工作中经常用到,
减少了各种时间的浪费,
然而,却很容易被大家忽略。
每当有新来的同事看到我这么使用时,
都忍不住感叹,
原来Python还隐藏了这么好用的功能。
下面就来看一下Python自带的几个小工具
一、1秒钟启动一个下载服务器
在我们工作中,时不时都会有这样的一个需求:将文件传给其他同事。
将文件传给同事本身不是一个很繁琐的工作,现在的聊天工具都是支持文件传输。
但是,还有另一情况如果我们需要传送的文件较多的时候,操作起来就会比较麻烦。
此外,如果文件在远程的服务器上传给你的同事,
则需要先将远程服务器的文件下载到本地,然后再通过聊天工具传给同事。
再或者,你并不是特别清楚要传哪几个文件给同事,
所以,你们需要进行来回的交流。
交流的时间成本是比较高的,会降低办事效率。
此时,你们需要更加高效的方法。
这个时候,
如果你知道Python内置了一个下载服务器就能够显著提升效率了。
例如:
你的同事要让你传的文件位于某一个目录下,
那么,你可以进入这个目录,
然后执行下面的命令启动一个下载服务器:
在Python 3中,
由于对系统库进行了重新整理,
因此,使用方式会有不同:
执行上面的命令就会在当前目录下启动一个文件下载服务器,
默认打开8000端口。
这个时候,
你只需要将IP和端口告诉同事,
让同事自己去操作即可,
非常的方便高效。
例如:
笔者在自己的服务器上的`~/temp`目录下
启动一个下载服务器:
使用浏览器访问Python启动的下载服务器,
可以看到一个类似于FTP下载的界面。
这个时候,
点击文件下载即可,
降低了大家的沟通成本。
从工作原理角度来说,执行上面的命令,
只是启动了一个Python内置的web服务器。
如果当前目录下存在一个名为index.html的文件,
则默认会显示该文件的内容;
如果当前目录下不存在这样一个文件,
则默认显示当前目录下的文件列表,
也就是大家看到的下载服务器。
二、字符串转换为JSON
JSON是一种轻量级的数据交换格式,
易于人类阅读和编写,同时也易于机器解析和生成。
由于JSON的诸多优点,已经广泛使用在各个系统中,
因此,
我们经常会有将JSON字符串转换为JSON对象的需求。
例如:
在笔者的工作过程中,我们的系统会调用底层服务的API,
底层服务的API一般都是以JSON的格式返回,
为了便于问题追踪,
我们会将API返回的JSON转换为字符串记录到日志文件中。
当需要分析问题时,
就有可能需要将日志文件中的JSON字符串扣出来进行分析,
这个时候,
需要将一个JSON字符串转换为JSON对象以便于阅读。
这个需求是如此的常见,
以至于使用搜索引擎搜索"JSON",
处于搜索结果的***项便是"在线JSON格式化工具"。
除了打开浏览器,使用在线JSON格式化工具以外,
我们也可以使用命令行终端的Python解释器来解析JSON串,
如下所示:
使用命令行解释器解析JSON串非常的方便,
而且,为了便于阅读,
该工具还会自动将转换的结果进行对齐和格式化,
如下所示:
三、检查第三方库是否正确安装
安装完Python的第三方库以后,
如何确认这个库已经正确安装了呢?
这个问题的答案很简单,
只需要尝试进行import导入,
如果导入没有任何错误,
则认为安装成功了。
验证Python的第三方库是否安装成功,
本身也是一件很简单的事情,
但是,如果我们使用脚本对大批量的服务器进行自动部署,
又应该如何验证第三方库安装成功了呢?
肯定不能登录每一台服务器进行验证,
这个时候,
我们可以使用Python解释器的`-c`参数快速的执行import语句
如下所示:
使用这种验证方式,
不但比交互式的验证更加高效,
更重要的是,
能够在脚本中实现对于远程服务器的验证操作。
四、使用Python解压zip压缩包
如果你是一名具有工作经验的工程师,
一定遇到过要在Linux下解压zip格式压缩包的需求。
Linux下一般都是用tar命令创建和读取压缩包,
但是,tar命令并不支持zip格式的压缩包。
为了读取zip格式的压缩包,需要使用unzip,
而大部分操作系统都没有安装unzip,
因此,每次需要在Linux下解压zip格式的压缩包都会比较麻烦。
除了安装unzip工具和编写Python脚本解压zip格式的压缩包以外,
也可以使用zipfile模块提供了命令行接口。
你以后可以在Linux下,
使用Python命令创建和解压zip格式的压缩包。
zipfile模块提供的命令行接口包含以下几个选项:
- -l <zipfile> 显示zip格式压缩包中的文件列表
- -c 创建zip格式压缩包
- -e 提取zip格式压缩包
- -t 验证文件是一个有效的zip格式压缩包
下面的命令使用Python的zipfile模块提供的命令行接口,
创建、查看和提取zip格式压缩包:
用了这个几个Python内置小工具,可以让你的工作效率提升一倍
总结:
这篇文章介绍了4个Python内置的小工具,
希望对大家有所帮助、能够提高大家的工作效率。