
文 | 某某白米飯
來源:Python 技術「ID: pythonall」

python 中有許多有趣的第三方庫,其中有一個 filestools 可以 2 行代碼可以為圖片增加水印、可以對比兩個檔案的差異還有利好抓包的curl 轉為 pyton 的 requests 請求代碼,大家一起來看看吧,
安裝
這個庫有 4 個功能,
仿 Linux 樹形目錄顯示 tree 命令
檔案差異比較 diff 命令
圖片加水印 marker 命令
curl 請求命令轉 python 請求代碼
pip install filestools -U
圖片加水印
匯入水印模塊
from watermarker.marker import add_mark
add_mark 方法有 8 個引數:
file:圖片檔案或圖片檔案夾路徑
mark:要添加的水印內容
out:添加水印后的結果保存位置,默認生成到 output 檔案夾
color:添加水印后的結果保存位置,默認生成到 output 檔案夾
space:水印直接的間隔, 默認 75 個空格
angle:水印旋轉角度,默認 30 度
size:水印字體的大小,默認 50
opacity:水印的透明度,默認 0.15
身份證經常需要被上傳并用在實名認證上面,我們可以加上水印防止被盜用,原圖如下:

經過水印處理
from watermarker.marker import add_mark
add_mark(r"D:\personal\gitpython\maoyan\0.png", "學 python,看 python 技術公眾號", angle=15, size=20, space=40, color='#c5094d')

檔案對比
匯入水印模塊
from filediff.diff import file_diff_compare
file_diff_compare 方法有 7 個引數:
file1:被比較的檔案 1
file2:被比較的檔案 2
out:差異結果保存的檔案名,默認值 diff_result.html
max_width:每行超過多少字符就自動換行,默認值 70
numlines:在差異行基礎上前后顯示多少行,默認是 0
show_all:只要設定這個引數就表示顯示全部原始資料,此時 numlines 引數無效;默認不顯示全部
no-browser:設定這個引數,在生成結果后不會自動打開游覽器
舉個例子,有以下兩個檔案:

經過檔案對比
from filediff.diff import file_diff_compare
file_diff_compare(r"D:\一線城市.log", r"D:\一線城市2.log", diff_out="diff_result.html", max_width=70, numlines=0, no_browser=True)
綠色表示新增,黃色表示修改,紅色表示被洗掉,

當使用了 show_all 引數之后,將顯示所有:
from filediff.diff import file_diff_compare
file_diff_compare("D:\一線城市.log", "D:\一線城市2.log", diff_out="diff_result.html", show_all=True, no_browser=True)

curl 請求命令轉 python 請求代碼
curl 轉 python 的用法完全利好爬蟲,可以少寫一些抓包代碼,這個 api 會生成 headers、requests.get() 等內容,
先在谷歌游覽器中復制網路抓到的網路請求為cURL(bash),如下圖:

復制出來的內容類似:
curl 'https://dss0.bdstatic.com/5aV1bjqh_Q23odCf/static/mancard/img/side/qrcode@2x-daf987ad02.png' \
-H 'sec-ch-ua: "Chromium";v="94", "Google Chrome";v="94", ";Not A Brand";v="99"' \
-H 'Referer: https://www.baidu.com/' \
-H 'sec-ch-ua-mobile: ?0' \
-H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.71 Safari/537.36' \
-H 'sec-ch-ua-platform: "Windows"' \
--compressed
使用 curl 轉 python
from curl2py.curlParseTool import curlCmdGenPyScript
curl_cmd = """curl 'https://dss0.bdstatic.com/5aV1bjqh_Q23odCf/static/mancard/img/side/qrcode@2x-daf987ad02.png' \
-H 'sec-ch-ua: "Chromium";v="94", "Google Chrome";v="94", ";Not A Brand";v="99"' \
-H 'Referer: https://www.baidu.com/' \
-H 'sec-ch-ua-mobile: ?0' \
-H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.71 Safari/537.36' \
-H 'sec-ch-ua-platform: "Windows"' \
--compressed"""
output = curlCmdGenPyScript(curl_cmd)
print(output)

總結
python 中有趣并且好用的第三方庫還有很多,小編會在后面的公眾號文章中為大家繼續介紹,
PS:公號內回復「Python」即可進入Python 新手學習交流群,一起 100 天計劃!
老規矩,兄弟們還記得么,右下角的 “在看” 點一下,如果感覺文章內容不錯的話,記得分享朋友圈讓更多的人知道!

【代碼獲取方式】
識別文末二維碼,回復:某某白米飯

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/319730.html
標籤:python
上一篇:Python爬蟲爬取資料
