有哪些你不知道的Python小工具
Python作為越來(lái)越流行的一種編程語(yǔ)言,不僅僅是因?yàn)樗Z(yǔ)言簡(jiǎn)單,有許多現(xiàn)成的包可以直接調(diào)用。
python中還有大量的小工具,讓你的python工作更有效率。
1. 快速共享
HTTP服務(wù)器
SimpleHTTPServer是python內(nèi)置的web服務(wù)器,使用8000端口和HTTP協(xié)議共享。
能夠在任意平臺(tái)(Window,Linux,MacOS)快速搭建一個(gè)HTTP服務(wù)和共享服務(wù),只需要搭建好python環(huán)境。
python2版本:
- python -m SimpleHTTPServer
 
python3版本:
- python -m http.server
 
FTP服務(wù)器
ftp共享需要第三方組件支持,安裝命令:
- pip install pyftpdlib
 - python -m pyftpdlib-p端口號(hào)
 
訪問(wèn)方式:ftp://IP:端口。
2. 解壓縮
這里介紹利用python解壓五種壓縮文件:.gz .tar .zip .rar
zip
- import zipfile
 - # zipfile壓縮
 - z = zipfile.ZipFile('x.zip', 'w', zipfile.ZIP_STORED) #打包,zipfile.ZIP_STORED是默認(rèn)參數(shù)
 - # z = zipfile.ZipFile('ss.zip', 'w', zipfile.ZIP_DEFLATED) #壓縮
 - z.write('x2')
 - z.write('x1')
 - z.close()
 - #zipfile解壓
 - z = zipfile.ZipFile('x.zip', 'r')
 - z.extractall(path=r"C:UsersAdministratorDesktop")
 - z.close()
 
tar
- import tarfile
 - # 壓縮
 - tar = tarfile.open('your.tar', 'w')
 - tar.add('/Users/wupeiqi/PycharmProjects/bbs2.log', arcname='bbs2.log')
 - tar.add('/Users/wupeiqi/PycharmProjects/cmdb.log', arcname='cmdb.log')
 - tar.close()
 - # 解壓
 - tar = tarfile.open('your.tar', 'r')
 - tar.extractall() # 可設(shè)置解壓地址
 - tar.close()
 
gz
gz一般僅僅壓縮一個(gè)文件,全部常與其它打包工具一起工作。比方能夠先用tar打包為X.tar,然后在壓縮為X.tar.gz
解壓gz,事實(shí)上就是讀出當(dāng)中的單一文件,Python方法例如以下:
- import gzip
 - import os
 - def un_gz(file_name):
 - """ungz zip file"""
 - f_name = file_name.replace(".gz", "")
 - #獲取文件的名稱,去掉
 - g_file = gzip.GzipFile(file_name)
 - #創(chuàng)建gzip對(duì)象
 - open(f_name, "w+").write(g_file.read())
 - #gzip對(duì)象用read()打開(kāi)后,寫入open()建立的文件里。
 - g_file.close()
 - #關(guān)閉gzip對(duì)象
 
rar
由于rar通常為window下使用,須要額外的Python包rarfile。
安裝:
- Python setup.py install
 
解壓縮:
- import rarfile
 - import os
 - def un_rar(file_name):
 - """unrar zip file"""
 - rar = rarfile.RarFile(file_name)
 - if os.path.isdir(file_name + "_files"):
 - pass
 - else:
 - os.mkdir(file_name + "_files")
 - os.chdir(file_name + "_files"):
 - rar.extractall()
 - rar.close()
 
3.pip常用操作
pip 是 Python 著名的包管理工具,在 Python 開(kāi)發(fā)中必不可少。
安裝
在線安裝
- pip install <包名> 或 pip install -r requirements.txt
 
本地安裝:
- pip install <目錄>/<文件名> 或 pip install --use-wheel --no-index --find-links=wheelhouse/ <包名>
 
查找包
- pip search <包名>
 
刪除包
- pip uninstall <包名> 或 pip uninstall -r requirements.txt
 
查看包信息
- pip show <包名>
 
檢查包依賴是否完整
- pip check <包名>
 
查看已安裝包列表
- pip list
 
導(dǎo)出所有已安裝包
- pip freeze requirements.txt
 
4. 字符串與Json轉(zhuǎn)換
json轉(zhuǎn)str
- import json
 - str = '{"name": "zyl", "age": "two"}'
 - p = json.loads(str)
 - print(p)
 - print(type(p))
 
json轉(zhuǎn)str
使用json.dumps的方法,可以將json對(duì)象轉(zhuǎn)化為字符串。
- s = {'name':'zyl','age':'22'}
 - s = json.dumps(s)
 
5. python讀取excel
步驟
- 安裝python官方Excel庫(kù)–>xlrd
 - 獲取Excel文件位置并讀取
 - 讀取sheet
 - 讀取指定rows和cols內(nèi)容
 
示例
- # -*- coding: utf-8 -*-
 - import xlrd
 - from datetime import date,datetime
 - def read_excel():
 - #文件位置
 - ExcelFile=xlrd.open_workbook(r'C:UsersAdministratorDesktopTestData.xlsx')
 - #獲取目標(biāo)EXCEL文件sheet名
 - print ExcelFile.sheet_names()
 - #若有多個(gè)sheet,則需要指定讀取目標(biāo)sheet例如讀取sheet2
 - #sheet2_name=ExcelFile.sheet_names()[1]
 - #獲取sheet內(nèi)容【1.根據(jù)sheet索引2.根據(jù)sheet名稱】
 - #sheet=ExcelFile.sheet_by_index(1)
 - sheet=ExcelFile.sheet_by_name('TestCase002')
 - #打印sheet的名稱,行數(shù),列數(shù)
 - print sheet.name,sheet.nrows,sheet.ncols
 - #獲取整行或者整列的值
 - rows=sheet.row_values(2)#第三行內(nèi)容
 - cols=sheet.col_values(1)#第二列內(nèi)容
 - print cols,rows
 - #獲取單元格內(nèi)容
 - print sheet.cell(1,0).value.encode('utf-8')
 - print sheet.cell_value(1,0).encode('utf-8')
 - print sheet.row(1)[0].value.encode('utf-8')
 - #打印單元格內(nèi)容格式
 - print sheet.cell(1,0).ctype
 - if__name__ =='__main__':
 - read_excel()
 
6. python 截圖
python實(shí)現(xiàn)截圖功能,windows環(huán)境下,需要用到PIL庫(kù)。
安裝:
- pip install Pillow
 
示例:
- from PIL import ImageGrab
 - bbox = (x1, y1, x2,y2 )
 - # x1: 開(kāi)始截圖的x坐標(biāo);x2:開(kāi)始截圖的y坐標(biāo);x3:結(jié)束截圖的x坐標(biāo);x4:結(jié)束截圖的y坐標(biāo)
 - im = ImageGrab.grab(bbox)
 - im.save('as.png')#保存截圖文件的路徑
 
7. ipython
最后介紹的示一個(gè)強(qiáng)大的python工具——IPython 。
IPython 支持變量自動(dòng)補(bǔ)全,自動(dòng)縮進(jìn),支持 bash shell 命令,內(nèi)置了許多實(shí)用功能和函數(shù);
它是一個(gè) for Humans 的 Python 交互式 shell,用了它之后你就不想再用自帶的 Python shell 了。















 
 
 




 
 
 
 