Python内置小工具(非常实用!)
一、1秒钟启动一个下载服务器
在工作中时不时会有这样的一个需求:将服务器(或者自己电脑)上的文件传给其他同事。将文件传给同事本身并不是一个很繁琐的工作,现在的聊天工具一般都支持文件传输。但是,如果需要传送的文件较多,那么操作起来就会比较麻烦。
Python内置了一个下载服务器就能够显著提升效率了。你只要进入需要共享的目录,然后执行下面的命令启动一个下载服务器:
# python -m SimpleHTTPServer [port]
#端口默认是8000
在Python3.X中,由于对系统库进行了重新整理,因此,使用方式会有不同:
# python -m http.server
执行上面的命令就会启动一个文件下载服务器,默认打开8000端口,访问地址:http://IP地址:端口/ 。
这个时候,你只需要将IP和端口告诉同事,让同事自己去操作即可,非常的方便高效。
例如:在服务器的/root/docs目录下启动一个下载服务器。
第一步:查看python版本,进入文件目录,执行命令启动下载服务器。
(切记:启动命令的窗口不能关闭,如果需要一直运行,可以在命令后加&使程序在后台运行)
[root@kylin203 docs]# python -m SimpleHTTPServer 8008
Serving HTTP on 0.0.0.0 port 8008 ...

第二步:使用浏览器访问Python启动的下载服务器:http://10.32.5.203:8008,可以看到一个类似于FTP下载的界面。这个时候,点击文件下载即可。

二、使用Python解压zip压缩包
除了安装unzip工具和编写Python脚本解压zip格式的压缩包以外,也可以使用zipfile模块提供了命令行接口。读者以后可以在Linux下,使用Python命令创建和解压zip格式的压缩包。zipfile模块提供的命令行接口包含以下几个选项:
-l 显示zip格式压缩包中的文件列表
-c 创建zip格式压缩包
-e 提取zip格式压缩包,即将zip压缩包内容提取到一个目录中
-t 验证文件是一个有效的zip格式压缩包
下面的命令使用Python的zipfile模块提供的命令行接口,创建、查看和提取zip格式压缩包:
[root@kylin203 myfile]# python -m zipfile -c file.zip file0.csv file1.csv file2.csv file3.csv file4.csv #创建压缩文件

[root@kylin203 myfile]# python -m zipfile -e file.zip unzip_test #提取zip压缩包里面内容

[root@kylin203 myfile]# python -m zipfile -l file.zip #查看zip压缩包里面的内容

三、用 Python 快速实现 FTP 服务器
1、首先安装 Pyftpdlib 模块
# pip install pyftpdlib

2、运行
假设我们需要共享目录 /root/docs,只需要以下这个命令行就可以轻松实现:
[root@kylin201 docs]# cd /root/docs #进入共享目录
[root@kylin201 docs]# python -m pyftpdlib #启动ftp服务器程序
(切记:启动命令的窗口不能关闭,如果需要一直运行,可以在命令后加&使程序在后台运行)

至此一个简单的 FTP 服务器已经搭建完成,访问 ftp://IP:PORT 即可。
默认 IP 为本机所有可用 IP,端口为 2121。
默认登陆方式为匿名。
默认权限是只读。
浏览器访问:ftp://10.32.5.201:2121/
(这里由于文件是中文所以出现了乱码,可以通过修改pyftpdlib的源码,将utf8改为gbk,请参看:https://blog.csdn.net/iteye_13695/article/details/82681602)

3、建一个有认证且可写的 FTP 服务器,可使用类似以下指令:
python -m pyftpdlib -i IP地址 -p 端口 -w -d /root/docs/ -u 用户名 -P 密码

浏览器访问:ftp://10.32.5.201:2020


Python内置小工具(非常实用!)的更多相关文章
- 几个可以提高工作效率的Python内置小工具
在这篇文章里,我们将会介绍4个Python解释器自身提供的小工具.这些小工具在笔者的日常工作中经常用到,减少了各种时间的浪费,然而,却很容易被大家忽略.每当有新来的同事看到我这么使用时,都忍不住感叹, ...
- python内置小工具
python -m http.server # 启动一个下载服务器 echo '{"job": "developer", "job": &q ...
- python 内置2to3工具将python2代码转换为python3代码
python2与python3代码不兼容,如果需要python2代码在python3环境下运行,需要将代码进行转换,本文介绍使用python3内置工具2to3.py对代码进行转换 一:2to3.py在 ...
- Python 内置界面开发框架 Tkinter入门篇 丙(文末有福利彩蛋,今天可是元宵节)
以下内容为本人的学习笔记,如需要转载,请声明原文链接微信公众号「ENG八戒」https://mp.weixin.qq.com/s/B1hH5Qzd2RkAiiUId1tLWw 本文大概 2874 个字 ...
- 【转】实习小记-python 内置函数__eq__函数引发的探索
[转]实习小记-python 内置函数__eq__函数引发的探索 乱写__eq__会发生啥?请看代码.. >>> class A: ... def __eq__(self, othe ...
- 【转】python 内置函数总结(大部分)
[转]python 内置函数总结(大部分) python 内置函数大讲堂 python全栈开发,内置函数 1. 内置函数 python的内置函数截止到python版本3.6.2,现在python一共为 ...
- python 内置函数总结(大部分)
python 内置函数大讲堂 python全栈开发,内置函数 1. 内置函数 python的内置函数截止到python版本3.6.2,现在python一共为我们提供了68个内置函数.它们就是pytho ...
- Python学习:6.python内置函数
Python内置函数 python内置函数,是随着python解释器运行而创建的函数,不需要重新定义,可以直接调用,那python的内置函数有哪些呢,接下来我们就了解一下python的内置函数,这些内 ...
- Python内置标准模块
time 模块 1 >>> import time 2 >>> time.time() 3 1491064723.808669 4 >>> # t ...
- python内置函数print输出到文件,实现日志记录的功能
# bulid time 2018-6-22 import os import time def log(*args, **kwargs): # *kargs 为了通用 可不传 rule = &quo ...
随机推荐
- 淘宝flexible.js源码分析
下面三种情况都会刷新页面,都会触发load事件. 1.a标签的超链接. 2.F5或者刷新按钮(强制刷新) 3.前进后退按钮 但是火狐中,有个特点,有个"往返缓存",这个缓存中不仅保 ...
- winform 各种小功能
1. 实现待查询功能的combox private void Frm_Main_Load(object sender, EventArgs e) { cbox_Find.Items.Clear(); ...
- VUE - 配置跨域
'/api': { target: 'http://localhost:8088/', //这里后台的地址模拟的;应该填写你们真实的后台接口 changOrigin: true, //允许跨域 pat ...
- javaweb 项目!号 解决方案
1:右击项目工程名称2:Properties3: Jvav Build Path4: Libraries5: Add External JARS6: 找到"E:\apache-tom ...
- Laravel : 模糊查询 where orWhere
Banner::where('title', 'like', "%{$keyword}%")->orWhere('introduce', 'like', "%{$k ...
- vscode插件 - 浏览器中自动刷新 Live Server
- [转帖]坑:jmeter代理服务器录制脚本出现target controller is configured to "use recording Controller" but no such controller exists...
配置好代理服务器后,运行代理服务器 run 报错: target controller is configured to "use recording Controller" bu ...
- [转帖]sqlplus与shell互相传值的几种情况
https://www.cnblogs.com/youngerger/p/9068888.html sqlplus与shell互相传值的几种情况 情况一:在shell中最简单的调用sqlplus $c ...
- [转帖]docker 镜像分层原理及容器写时复制
https://xie.infoq.cn/article/19c98e8b15ff9f610a2ee26bd 一.镜像分层与容器层 在进行docker pull 下载镜像的时候,通过下图可以看到镜像是 ...
- [转帖]查询机器序列号--Linux/esxi/windows
https://www.jianshu.com/p/6abaea79e0c3 Ipmitool--Linux&Esxi&Windows # ipmitool fru list|grep ...