社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

几个可以提高工作效率的 Python 内置小工具

追忆MHyourh • 5 年前 • 451 次点击  
阅读 12

几个可以提高工作效率的 Python 内置小工具

在这篇文章里,我们将会介绍4个Python解释器自身提供的小工具。这些小工具在笔者的日常工作中经常用到,减少了各种时间的浪费,然而,却很容易被大家忽略。每当有新来的同事看到我这么使用时,都忍不住感叹,原来Python还隐藏了这么好用的功能。下面就来看一下Python自带的几个小工具

一、1秒钟启动一个下载服务器

在实际工作中,时不时会有这样的一个需求:将文件传给其他同事。将文件传给同事本身并不是一个很繁琐的工作,现在的聊天工具一般都支持文件传输。但是,如果需要传送的文件较多,那么,操作起来就会比较麻烦。此外,如果文件在远程的服务器上,你要将文件传给同事,则需要先将远程服务器的文件下载到本地,然后再通过聊天工具传给同事。再或者,你并不是特别清楚要传哪几个文件给同事,所以,你们需要进行来回的交流。交流的时间成本是比较高的,会降低办事效率。此时,你们需要更加高效的方法。

这个时候,如果你知道Python内置了一个下载服务器就能够显著提升效率了。例如,你的同事要让你传的文件位于某一个目录下,那么,你可以进入这个目录,然后执行下面的命令启动一个下载服务器:

python -m SimpleHTTPServer
复制代码

在Python 3中,由于对系统库进行了重新整理,因此,使用方式会有不同:

python -m http.server
复制代码

执行上面的命令就会在当前目录下启动一个文件下载服务器,默认打开8000端口。这个时候,你只需要将IP和端口告诉同事,让同事自己去操作即可,非常的方便高效。

例如,笔者在自己的服务器上的`~/temp`目录下启动一个下载服务器:

几个可以提高工作效率的Python内置小工具

使用浏览器访问Python启动的下载服务器,可以看到一个类似于FTP下载的界面。这个时候,点击文件下载即可,降低了大家的沟通成本。

几个可以提高工作效率的Python内置小工具

从工作原理角度来说,执行上面的命令,只是启动了一个Python内置的web服务器。如果当前目录下存在一个名为index.html的文件,则默认会显示该文件的内容;如果当前目录下不存在这样一个文件,则默认显示当前目录下的文件列表,也就是大家看到的下载服务器。

二、字符串转换为JSON

JSON是一种轻量级的数据交换格式,易于人类阅读和编写,同时也易于机器解析和生成。由于JSON的诸多优点,已经广泛使用在各个系统中,因此,我们经常会有将JSON字符串转换为JSON对象的需求。

例如,在笔者的工作过程中,我们的系统会调用底层服务的API,底层服务的API一般都是以JSON的格式返回,为了便于问题追踪,我们会将API返回的JSON转换为字符串记录到日志文件中。当需要分析问题时,就有可能需要将日志文件中的JSON字符串扣出来进行分析,这个时候,需要将一个JSON字符串转换为JSON对象以便于阅读。

这个需求是如此的常见,以至于使用搜索引擎搜索"JSON",处于搜索结果的第一项便是"在线JSON格式化工具"。除了打开浏览器,使用在线JSON格式化工具以外,我们也可以使用命令行终端的Python解释器来解析JSON串,如下所示:

几个可以提高工作效率的Python内置小工具

使用命令行解释器解析JSON串非常的方便,而且,为了便于阅读,该工具还会自动将转换的结果进行对齐和格式化,如下所示:

几个可以提高工作效率的Python内置小工具

三、检查第三方库是否正确安装

安装完Python的第三方库以后,如何确认这个库已经正确安装了呢?这个问题的答案很简单,只需要尝试进行import导入,如果导入没有任何错误,则认为安装成功了。

几个可以提高工作效率的Python内置小工具

验证Python的第三方库是否安装成功,本身也是一件很简单的事情,但是,如果我们使用脚本对大批量的服务器进行自动部署,又应该如何验证第三方库安装成功了呢?肯定不能登录每一台服务器进行验证,这个时候,我们可以使用Python解释器的`-c`参数快速的执行import语句,如下所示:

lmx@host1:~/temp$ python -c "import paramiko"
复制代码

使用这种验证方式,不但比交互式的验证更加高效,更重要的是,能够在脚本中实现对于远程服务器的验证操作。

四、使用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内置的小工具,希望对大家有所帮助、能够提高大家的工作效率。



今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/kRJ9O3JwKu
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/26386
 
451 次点击