Python小技巧整理
一、python小工具:
1、内置下载和网站:
进入相应目录:
2.x python -m SimpleHTTPServer 3.x python -m http.server
2、字符串转换为JSON
[root@mysql-m ~]# echo '{"job":"developer","name":"1mx","sex":"male"}' | python -m json.tool { "job": "developer", "name": "1mx", "sex": "male" }
3、批量验证第三方库的安装:
python -c "import paramiko"
二、PIP的高级用法:
1、安装
yum install python-pip sudo apt-get install python-pip pip install -U pip
# 源码安装paramiko
git clone https://github.com/paramiko/paramiko.git
cd paramiko
python setup.py install
2、pip常用命令
install 安装软件包 download 下载安装包 uninstall 卸载 freeze 按照requirements格式输出安装包,可以到其他服务器上执行pip install -r requirements.txt直接安装软件 list 列出系统中的安装包 show 查看安装包信息 check 9.0.1新命令,检查安装包依赖是否完整 search 查找安装包 wheel 打包软件到whell格式 hash 计算安装包的hash值 completion 生成命令补全配置 help 帮助
1、查找安装包
pip search flask
2、安装特定的版本
pip install flask==0.8
3、导出系统已经安装的包列表到requirements文件,到其它系统上安装:
pip freeze > requirements.txt pip install -r requirements.txt
4、使用pip命令补全
pip completion --bash >> ~/.profile source ~/.profile
三、使用其它pip源:
使用豆瓣 通过 -i 指定镜像源 pip install -i https://pypi.douban.com/simple flask
- 阿里:
https://mirrors.aliyun.com/pypi/simple
- 豆瓣:http://pypi.douban.com/simple
- 中国科学技术大学:http://pypi.mirrors.ustc.edu.cn/simple/
每次都使用-i比较麻烦,可以编辑pip.conf文件,需要创建~/.pip/pip.conf文件然后输入下面的内容:
在windows上,配置文件为:%HOME%\pip\pip.ini
在unix和macos,配置文件为:$HOME/.pip/pip.conf
$cat pip.conf [global] index-url = https://pypi.douban.com/simple
四、将软件下载到本地部署
如果需要对大批量的服务器安装软件包,且安装包比较多和比较大,则可以将软件包下载到本地,然后从本地安装。对于服务器无法连接外网的情况也可以使用这种方法。
# 下载到本地,会同时下载依赖的包 pip install --download=`pwd` -r requirements.txt # 本地安装 pip install --no-index -f file://`pwd` -r requirements.txt
如:
pip install --download=`pwd` flask
$ll
total 652
-rw-r--r-- 1 root root 71175 Dec 30 12:24 click-6.7-py2.py3-none-any.whl
-rw-r--r-- 1 root root 83018 Dec 30 12:24 Flask-0.12.2-py2.py3-none-any.whl
-rw-r--r-- 1 root root 46541 Dec 30 12:24 itsdangerous-0.24.tar.gz
-rw-r--r-- 1 root root 126381 Dec 30 12:24 Jinja2-2.10-py2.py3-none-any.whl
-rw-r--r-- 1 root root 14356 Dec 30 12:25 MarkupSafe-1.0.tar.gz
-rw-r--r-- 1 root root 0 Dec 30 12:14 requirements.txt
-rw-r--r-- 1 root root 311833 Dec 30 12:24 Werkzeug-0.13-py2.py3-none-any.whl
五、ipython
pip install ipython
yum install ipython
六、python2中默认使用Unicode字符
Python2中使用Unicode,则必须在字符串前面显示的加上u前缀,如: name = u'周星驰' 如果想默认使用Unicode字符串,要执行下面的导入: from __future__ import unicode_literals 另外,可以使用encode和decode方法。
python2中还要使用codecs模块,打开文件时编码,而python3在open时直接可以指定编码:
2.x
import codecs
with codecs.open('/tmp/data.txt','w',encoding='utf-8') as f:
....f.write(name)
with codecs.open('/tmp/data.txt','r',encoding='utf-8') as f:
....f.read()