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 ...
随机推荐
- 接口自动化测试复习巩固第二天,管理员后端验证和接口抓包+requests实现
接口自动化测试第二天,需要用到的第三方库有os,openpyxl,json,pytest,requests 首选我们今天的目标是写出一个测试登录用例的脚本,这里我用的是分层设计,整个框架暂时被分为工具 ...
- java进阶(13)--int、String、Integer互相转换
一.转换流程图
- 人人都会Kubernetes(二):使用KRM实现快速部署服务,并且通过域名发布
1. 上节回顾 上一小节<人人都会Kubernetes(一):告别手写K8s yaml,运维效率提升500%>介绍了KRM的一些常用功能,并且使用KRM的DEMO环境,无需安装就可以很方便 ...
- ElasticSearch 通过 Kibana 与 ElasticSearch-head 完成增删改查
本文为博主原创,未经允许不得转载: 1. 安装并配置 elasticSearch ,kibana, elasticsearch-head docker 安装 ElasticSearch 和 Kiba ...
- 基于AHB_BUS的eFlash控制器的架构设计
eFlash控制器的架构设计 1.架构设计思路分析 1.1 含有的模块分析 eFlash控制器是一个基于AHB的slave,所以需要一个AHB_slave_if处理AHB的信号.AHB_slave_i ...
- java - 标准类的定义
一个标准的类需要拥有下面 4个 组成部分: 1. 所有的成员变量都要使用 private 关键字进行修饰 2. 为每一个成员变量编写 set.get 方法 3. 创建一个无参数的构造方法 4. 创建一 ...
- JMS微服务开发示例(七)使用 Serilog 作为日志提供者
nuget 引入: Serilog.Extensions.LoggingSerilog.Settings.ConfigurationSerilog.Sinks.ConsoleSerilog.Sinks ...
- 战略设计- DDD
随着系统的增长,它会变得越来越复杂,当我们无法通过分析对象来理解系统的时候,就需要掌握一些操纵和理解大模型的技术了.本文将介绍一些原则.遵循这些原则,就可以对非常复杂的领域进行建模.大部分这样的决策都 ...
- 快速部署minio的一个思路
快速部署minio的一个思路 背景 小型项目上希望能够快速部署一些中间件. 因为minio比较简单,想着快速一键部署. 加快工作效率. 这里将脚本和思路写下来, 其他应用可以一样进行. 思路 1. 下 ...
- 【转帖】Dockerfile文件指令介绍
https://blog.whsir.com/post-5327.html Dockerfile其实就是一个文本文件,这个文本文件名称叫Dockerfile,里面包含了一些指令(可以理解成多个指令集合 ...