博客
关于我
Python内置小工具
阅读量:118 次
发布时间:2019-02-26

本文共 2119 字,大约阅读时间需要 7 分钟。

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

在实际工作中,时不时会有这样的一个需求:将文件传给其他同事。将文件传给同事本身并不是一个很繁琐的工作,现在的聊天工具一般都支持文件传输。但是,如果需要传送的文件较多,那么,操作起来就会比较麻烦。
Python内置了一个下载服务器就能够显著提升效率了。例如,你的同事要让你传的文件位于某一个目录下,那么,你可以进入这个目录,然后执行下面的命令启动一个下载服务器:

[root@iZbp1cyio18s5zkno1i9zaZ src]# python -m SimpleHTTPServer [port]#端口默认是8000

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

[root@iZbp1cyio18s5zkno1i9zaZ src]# python -m http.server

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

例如,在服务器的/usr/local/src目录下启动一个下载服务器:

[root@iZbp1cyio18s5zkno1i9zaZ src]# lsfile1  file10  file2  file3  file4  file5  file6  file7  file8  file9[root@iZbp1cyio18s5zkno1i9zaZ src]# python -m SimpleHTTPServerServing HTTP on 0.0.0.0 port 8000 ...

这里写图片描述

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

这里写图片描述

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

使用Python解释器的 -c 参数快速的执行import语句,如下所示:

[root@iZbp1cyio18s5zkno1i9zaZ src]# python -c "import paramiko"    #检查paramiko模块是否安装

这里写图片描述

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

三、使用Python解压zip压缩包

除了安装unzip工具和编写Python脚本解压zip格式的压缩包以外,也可以使用zipfile模块提供了命令行接口。读者以后可以在Linux下,使用Python命令创建和解压zip格式的压缩包。zipfile模块提供的命令行接口包含以下几个选项:

-l 
显示zip格式压缩包中的文件列表-c 创建zip格式压缩包-e 提取zip格式压缩包,即将zip压缩包内容提取到一个目录中-t 验证文件是一个有效的zip格式压缩包

下面的命令使用Python的zipfile模块提供的命令行接口,创建、查看和提取zip格式压缩包:

[root@iZbp1cyio18s5zkno1i9zaZ src]# python -m zipfile -c file.zip file1  file10  file2  file3    #创建压缩文件[root@iZbp1cyio18s5zkno1i9zaZ src]# python -m zipfile -e file.zip zip-test    #提取zip压缩包里面内容[root@iZbp1cyio18s5zkno1i9zaZ src]# python -m zipfile -l file.zip             #查看zip压缩包里面的内容

这里写图片描述

四、用 Python 快速实现 FTP 服务器

1、首先安装 Pyftpdlib 模块

pip install pyftpdlib

2、运行

假设我们需要共享目录 /home/www,只需要以下这个命令行就可以轻松实现:

[root@iZbp1cyio18s5zkno1i9zaZ src]# cd /home/www[root@iZbp1cyio18s5zkno1i9zaZ www]# python -m pyftpdlib[I 2018-01-16 14:07:18] >>> starting FTP server on 0.0.0.0:2121, pid=22893 <<<[I 2018-01-16 14:07:18] concurrency model: async[I 2018-01-16 14:07:18] masquerade (NAT) address: None[I 2018-01-16 14:07:18] passive ports: None

至此一个简单的 FTP 服务器已经搭建完成,访问 即可。

默认 IP 为本机所有可用 IP,端口为 2121。

默认登陆方式为匿名。
默认权限是只读。

这里写图片描述

访问:

这里写图片描述

3、建一个有认证且可写的 FTP 服务器,可使用类似以下指令:

python -m pyftpdlib -i ip地址 -w -d /tmp/ -u 用户名 -P 密码
你可能感兴趣的文章
nid修改oracle11gR2数据库名
查看>>
NIFI1.21.0/NIFI1.22.0/NIFI1.24.0/NIFI1.26.0_2024-06-11最新版本安装_采用HTTP方式_搭建集群_实际操作---大数据之Nifi工作笔记0050
查看>>
NIFI1.21.0_java.net.SocketException:_Too many open files 打开的文件太多_实际操作---大数据之Nifi工作笔记0051
查看>>
NIFI1.21.0_Mysql到Mysql增量CDC同步中_日期类型_以及null数据同步处理补充---大数据之Nifi工作笔记0057
查看>>
NIFI1.21.0_Mysql到Mysql增量CDC同步中_补充_插入时如果目标表中已存在该数据则自动改为更新数据_Postgresql_Hbase也适用---大数据之Nifi工作笔记0058
查看>>
NIFI1.21.0_Mysql到Mysql增量CDC同步中_补充_更新时如果目标表中不存在记录就改为插入数据_Postgresql_Hbase也适用---大数据之Nifi工作笔记0059
查看>>
NIFI1.21.0_NIFI和hadoop蹦了_200G集群磁盘又满了_Jps看不到进程了_Unable to write in /tmp. Aborting----大数据之Nifi工作笔记0052
查看>>
NIFI1.21.0_Postgresql和Mysql同时指定库_指定多表_全量同步到Mysql数据库以及Hbase数据库中---大数据之Nifi工作笔记0060
查看>>
NIFI1.21.0最新版本安装_连接phoenix_单机版_Https登录_什么都没改换了最新版本的NIFI可以连接了_气人_实现插入数据到Hbase_实际操作---大数据之Nifi工作笔记0050
查看>>
NIFI1.21.0最新版本安装_配置使用HTTP登录_默认是用HTTPS登录的_Https登录需要输入用户名密码_HTTP不需要---大数据之Nifi工作笔记0051
查看>>
NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表多表增量同步_增删改数据分发及删除数据实时同步_通过分页解决变更记录过大问题_02----大数据之Nifi工作笔记0054
查看>>
NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表多表增量同步_增加修改实时同步_使用JsonPath及自定义Python脚本_03---大数据之Nifi工作笔记0055
查看>>
NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表多表增量同步_插入修改删除增量数据实时同步_通过分页解决变更记录过大问题_01----大数据之Nifi工作笔记0053
查看>>
NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表或全表增量同步_实现指定整库同步_或指定数据表同步配置_04---大数据之Nifi工作笔记0056
查看>>
NIFI1.23.2_最新版_性能优化通用_技巧积累_使用NIFI表达式过滤表_随时更新---大数据之Nifi工作笔记0063
查看>>
NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_根据binlog实现update数据实时同步_实际操作05---大数据之Nifi工作笔记0044
查看>>
NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_根据binlog实现数据实时delete同步_实际操作04---大数据之Nifi工作笔记0043
查看>>
NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置binlog_使用处理器抓取binlog数据_实际操作01---大数据之Nifi工作笔记0040
查看>>
NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置数据路由_实现数据插入数据到目标数据库_实际操作03---大数据之Nifi工作笔记0042
查看>>
NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置数据路由_生成插入Sql语句_实际操作02---大数据之Nifi工作笔记0041
查看>>