python -m的那些实用功能
python -m lib,一句简单的命令加一个模块,除了可以自己写,python自带的现成功能也很强大和实用,本文将不断整理一些常用功能。
1.简单的局域网文件共享
1.在需要共享的文件夹下运行:
$ python -m http.server
Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...
192.168.1.100 - - [27/Nov/2017 11:30:19] "GET / HTTP/1.1" 200 -
2.然后查询自己电脑的ip:
$ ip addr
3.其他设备(windows,android等)可以在浏览器访问:
http://your ip:8000
当然可以指定端口:
python -m http.server 9000
基于http协议,跨多个平台。
2.命令行json格式化
# 文件
[jimo@jimo-pc elasticsearch-6.0.0]$ python -m json.tool p.json
{"name": "jimo","age": "100"
}
# 文本
[jimo@jimo-pc elasticsearch-6.0.0]$ echo '{"name": "jimo", "age": "100"}' | python -m json.tool
{"name": "jimo","age": "100"
}
读者反应中文会被编码:
$ echo '{"name": "寂寞", "age": "100"}' | python -m json.tool
{"age": "100","name": "\u5bc2\u5bde"
}
这个原因是json模块默认使用ascii编码,我们只需要修改一下源码,重新编译下即可:
- 找到json.tool模块的位置:
>>> import json.tool>>> json.tool.__file__'/usr/lib/python2.7/json/tool.pyc'
去到这个目录,发现tool.py源文件:
jack@jack:/usr/lib/python2.7/json$ ll 总用量 140 drwxr-xr-x 2 root root 4096 7月 14 00:05 ./ drwxr-xr-x 27 root root 24576 7月 14 00:05 ../ -rw-r--r-- 1 root root 13698 11月 28 2018 decoder.py -rw-r--r-- 1 root root 11936 7月 14 00:05 decoder.pyc -rw-r--r-- 1 root root 16399 11月 28 2018 encoder.py -rw-r--r-- 1 root root 13687 7月 14 00:05 encoder.pyc -rw-r--r-- 1 root root 14721 11月 28 2018 __init__.py -rw-r--r-- 1 root root 13916 7月 14 00:05 __init__.pyc -rw-r--r-- 1 root root 2297 11月 28 2018 scanner.py -rw-r--r-- 1 root root 2223 7月 14 00:05 scanner.pyc -rw-r--r-- 1 root root 997 11月 28 2018 tool.py -rw-r--r-- 1 root root 1290 7月 14 00:05 tool.pyc
- 现在,使用root权限修改tool.py,在json.dump这一行加上
ensure_ascii=False
参数:with outfile:json.dump(obj, outfile, sort_keys=True,ensure_ascii=False,indent=4, separators=(',', ': '))outfile.write('\n')
然后重新编译:
$ sudo python -m py_compile tool.py
- 验证:现在就OK了:
$ echo '{"name": "寂寞", "age": "100"}' | python -m json.tool {"age": "100","name": "寂寞" }
python -m的那些实用功能相关推荐
- (译)一个完整的Django入门指南---第7部分
1.前言 本篇文章是翻译 A Complete Beginner's Guide to Django 系列的最后一篇文章 A Complete Beginner's Guide to Django - ...
- Python IDE:PyCharm中的那些实用功能
到目前为止,我用Eclipse已经有一些年头了,大部分的时间都是用来写Python(安装Pydev插件)以及C++(安装CDT插件). 最近我从一个好友那听说了PyCharm以及它新的免费社区版log ...
- python办公实用功能_【一点资讯】实用办公技巧贴——当Python遇上PDF www.yidianzixun.com...
Portable Document Format(可移植文档格式),即PDF是一种文件格式,可以用于跨操作系统的呈现和文档交换.尽管PDF最初是由Adobe发明的,但它现在是由国际标准化组织(ISO) ...
- Python实用功能之pdf文件转png图片数据
今天遇上一个问题就是需要将几个pdf合并起来,我百度了一下有哪些方法可以做,可以先看下: 第一种:使用"iLovePDF"(在线端) 这是一个国外的免费在线PDF文件处理工具,它提 ...
- 实用功能#用Python给你的微信升升级吧
一个自动回复机器人 大家好,我是查理 微信自上线以来,一直没有自动回复的功能,想必是有他们的理念.但是有些人群,确实对此功能有一定需求,我举两个栗子: 不愿时刻被消息打扰的人 消息需要批量处理的人们( ...
- 量化交易Python实用功能函数(2)
前面的文章,我们讲到了: "设定股票池 ContextInfo.set_universe()", "设定交易账号 ContextInfo.set_account()&qu ...
- 量化交易Python实用功能函数(3)
量化交易现在的表现都非常不错,我们可以从公募量化基金中看出量化的表现: 不求妙手,但求积胜 85%比例对标中证500指数,全市场机器量化选股 今年以来11.92%,同类排名5/730 近一年25.18 ...
- Python Qt GUI设计:QMainWindow、QWidget和QDialog窗口类(基础篇—10)
目录 1. QMainWindow窗口 2.QWidget窗口 3.QDialog窗口 3.1.QMessageBox窗口 3.2.QInputDialog窗口 3.3.QFontDialog窗口 3 ...
- 刻意练习:Python基础 -- Task13. datetime模块详解
datetime模块 datetime 是 Python 中处理日期的标准模块,它提供了 4 种对日期和时间进行处理的类:datetime.date.time 和 timedelta. datetim ...
最新文章
- 【剑指offer】14、剪绳子
- pendo android,Pendo
- Java中的等待/通知机制(wait/notify)
- 对象必须实现 iconvertible_Java I/O 流之数据流_对象流
- [BZOJ1503][NOI2004]郁闷的出纳员 无旋Treap
- 【博客项目】—密码加密( 六)
- python之生成器-generator
- url地址中 /等符号的转义处理(转)
- Django相关配置(包括数据库、templates、static等)信息—Django2.0
- Starting MySQL. ERROR! The server quit without updating PID file
- Android-7.0-Nuplayer概述
- matlab 状态空间极点,传递函数、零极点增益与状态空间转换的matlab算法实现
- 基于MATLAB的DS证据融合代码
- android 修改 dpi_努比亚 Z11|魔趣100|安卓10.0|归属地|机型修改|性能调整|稳定流畅...
- 区块链开发基础知识学习
- CocosCreator 基于Assembler实现的图片切割破碎效果及自定义遮罩
- 【干货】PCB线宽与电流关系
- [USACO2.1]Healthy Holsteins 健康的荷斯坦奶牛 题解(DFS/BFS详解)
- direction: rtl;
- 利用计算机引号作用,计算机双引号怎么打出来