Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Koleksi yang disyorkan |. 1 perpustakaan Python, 4 fungsi hebat!

Koleksi yang disyorkan |. 1 perpustakaan Python, 4 fungsi hebat!

Python当打之年
Python当打之年ke hadapan
2023-08-10 15:34:521189semak imbas

Hari ini saya memperkenalkan perpustakaan Python [filestools], yang dibangunkan oleh seorang lelaki besar yang semua orang kenali.

Perpustakaan Filestools kini mengandungi empat pakej alat Ⅲ Tambahkan tera air pada gambar;
  • Ⅳ Tukar arahan permintaan rangkaian ke dalam permintaan kod permintaan perpustakaan
  • Pertama, saya akan memberikan anda arahan untuk menggunakan perpustakaan alat fail secara langsung, supaya anda boleh belajar secara langsung dengan sendiri nanti. perpustakaan sebelum menggunakannya. Satu baris arahan boleh melakukannya:
    pip install filestools -i https://pypi.org/simple/ -U
  • 1 Paparan direktori pokok
  • Fungsi ini boleh membantu kami memaparkan secara rekursif semua fail dan folder dalam direktori yang ditentukan, dan memaparkan maklumat setiap fail dan folder Saiznya jelas sekali imbas.
    Mari kita ambil tingkap sebagai contoh untuk menerangkan.
Keseluruhan operasi dilakukan dalam tetingkap hitam CMD. Mula-mula anda perlu belajar cara menukar ke cakera dan direktori tertentu.
# 这样即可将C盘,切换到D盘
C:\Users\Administrator>D:

# 使用cd命令,可以切换到指定盘的指定目录
C:\Users\Administrator>cd C:\Users\Administrator\Desktop\python三剑客\加盟店爬虫
Ada dua perintah di dalamnya: pokok dan pokok2.
Jika dalam sistem anda, keutamaan ular sawa tempatan lebih tinggi daripada keutamaan persekitaran sistem, laksanakan arahan pokok secara langsung
Jika dalam sistem anda, keutamaan persekitaran sistem; adalah lebih tinggi daripada keutamaan ular sawa tempatan, Selain melaraskan susunan pembolehubah persekitaran dan mengubah suai keutamaan, anda juga boleh menggunakan arahan tree2, yang selaras dengan pokok.Tetapi jika anda melaksanakan arahan pokok pada masa ini, anda tidak akan melihat kesannya; Saya melaksanakan arahan pokok di sini, apa yang dipaparkan ialah paparan sistem sebelum perpustakaan dipasang.
Ini disebabkan oleh persekitaran sistem yang mempunyai keutamaan yang lebih tinggi daripada ular sawa tempatan.
Koleksi yang disyorkan |. 1 perpustakaan Python, 4 fungsi hebat!
Pada ketika ini, kita boleh terus melaksanakan arahan tree2.
Sudah tentu, semua orang tidak suka melaksanakan arahan dalam tetingkap CMD.这里我们直接在jupyter notebook中,执行如下操作:
from treedir.tree import tree_dir
tree_dir(r"C:\Users\Administrator\Desktop\python三剑客\加盟店爬虫", m_level=7, no_calc=False)
结果如下:
Koleksi yang disyorkan |. 1 perpustakaan Python, 4 fungsi hebat!
关于tree_dir()函数,分别介绍如下3个参数
  • path:递归显示的目录路径,默认为当前目录;
  • m_level:递归展示的最大层数,默认为7层;
  • no_calc:指定该参数后,对于超过递归显示的最大层数的文件夹,不再继续递归计算文件夹大小;

2. 文本文件差异比较

这个功能可以帮助我们比较两个文件的差异,输出到HTML网页中。比如说,我们写了一段代码,后面改动了。但是由于代码太多,我们不知道改了哪里,此时,使用这个功能,很好的帮助我们对比。
我们来看这样一个例子,我曾经有一个<span style="font-size: 15px;">a.txt</span>文件,经过一段时间后,我对其中的内容做了修改,得到了最后的<span style="font-size: 15px;">b.txt</span>
Koleksi yang disyorkan |. 1 perpustakaan Python, 4 fungsi hebat!
需求:想看看对哪里做了修改(如果内容很多的话)
from filediff.diff import file_diff_compare
file_diff_compare("a.txt", "b.txt")
这会在当前工作目录下,生成一个<span style="font-size: 15px;">html</span>网页文件。
Koleksi yang disyorkan |. 1 perpustakaan Python, 4 fungsi hebat!
双击打开,观察其中的内容:
Koleksi yang disyorkan |. 1 perpustakaan Python, 4 fungsi hebat!
其中:<span style="font-size: 15px;">黄色</span>表示改动过的内容,<span style="font-size: 15px;">绿色</span>表示新添加过的内容,<span style="font-size: 15px;">红色</span>表示已经删除过的内容。
对于file_diff_compare()函数,有如下7个参数:
from filediff.diff import file_diff_compare
file_diff_compare(file1, file2, diff_out=&#39;diff_result.html&#39;, max_width=70, numlines=0, show_all=False, no_browser=False)
对这7个参数,分别介绍如下:
  • file1 / file2:待比较的两个文件,必须文本文件;
  • diff_out:差异结果保存的文件名(网页格式),默认值diff_result.html;
  • max_width:每行超过多少字符就自动换行,默认值70;
  • numlines:在差异行基础上前后显示多少行,默认是0;
  • show_all:只要设置这个参数就表示显示全部原始数据,此时-n参数无效,默认不显示全部;
  • no_browser:设置这个参数,在生成结果后,不会自动打开游览器。Apabila ditetapkan kepada False, penyemak imbas akan dibuka secara automatik;

3 Tambah tanda air pada gambar

yang sepatutnya menjadi gaya yang terbaik. saiz fon: 14px; padding: 2px 4px; jejari sempadan: 4px; jidar-kanan: 2px; tepi-kiri: 2px; warna latar belakang: rgba(27, 31, 35, 0.05);font-family: " Operator Mono", Consolas, Monaco, Menlo, monospace;word-break: break-all;color: rgb(239, 112, 96);">Gambar tera air<span style="font-size: 15px;">图片加水印</span>Kod, panggil untuk menambah tera air pada gambar ialah fungsi add_mark().
from watermarker.marker import add_mark

# 注意:有些参数是默认参数,你可以随意修改的;
add_mark(file, mark, out=&#39;output&#39;, color=&#39;#8B8B1B&#39;, size=30, opacity=0.15, space=75, angle=30)
关于add_mark()函数,分别介绍如下8个参数
  • file:待添加水印的照片;
  • mark:使用哪些字作为水印;
  • out:添加水印后保存的位置;
  • color:水印字体的颜色,默认颜色#8B8B1B;
  • size:水印字体的大小,默认50;
  • opacity:水印字体的透明度,默认0.15;
  • space:水印字体之间的间隔, 默认75个空格;
  • angle:水印字体的旋转角度,默认30度;
比如我们执行如下命令:
from watermarker.marker import add_mark
add_mark(file=r"C:\Users\Administrator\Desktop\大学.jpg", out=r"C:\Users\Administrator\Desktop\python三剑客\加盟店爬虫", mark="黄同学", opacity=0.2, angle=30, space=30)
我们想要给<span style="font-size: 15px;">大学.jpg</span>添加一个<span style="font-size: 15px;">黄同学</span>水印,保存的位置在<span style="font-size: 15px;">加盟店爬虫</span>文件夹下,透明度是<span style="font-size: 15px;">0.2</span>,旋转角度是<span style="font-size: 15px;">30°</span>,字体之间的间隔是<span style="font-size: 15px;">30</span>
Gambar asal adalah seperti berikut:
Koleksi yang disyorkan |. 1 perpustakaan Python, 4 fungsi hebat!
Kesan akhir adalah seperti berikut:
4. Curl permintaan rangkaian kepada meminta kod permintaan perpustakaan
Koleksi yang disyorkan |. 1 perpustakaan Python, 4 fungsi hebat!

Apabila kita menulis perangkak, kita sering menggunakan beberapa maklumat parameter, seperti ini:

menyusahkan masing-masing?
Koleksi yang disyorkan |. 1 perpustakaan Python, 4 fungsi hebat!
Fungsi ini boleh menyelesaikan masalah ini, ia boleh menukar cURL kepada kod Python, kita hanya perlu menyalinnya.
Langkah kasar adalah seperti berikut:
Ⅰ Mula-mula, salin permintaan rangkaian yang ditangkap oleh rangkaian ke dalam cURL (bash); ;
  • dengan Kedudukan Python laman web latihan
  • diambil sebagai contoh untuk menggambarkan.
  • http://www.shixi.com/search/index?key=python
Ikuti gambar di bawah, kami menyalin ikal satu permintaan.
可以看到: 这里有各种不同的请求url,然后<span style="font-size: 12px;">-H</span>后面是该请求对应的各种参数。我们需要请求哪个链接,就复制对应的curl。
仔细观察下图哦:
Koleksi yang disyorkan |. 1 perpustakaan Python, 4 fungsi hebat!
复制了curl后,可以粘贴出来,看看有哪些东西。
curl &#39;http://www.shixi.com/search/index?key=python&#39; \
  -H &#39;Connection: keep-alive&#39; \
  -H &#39;Cache-Control: max-age=0&#39; \
  -H &#39;Upgrade-Insecure-Requests: 1&#39; \
  -H &#39;User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36&#39; \
  -H &#39;Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9&#39; \
  -H &#39;Referer: http://www.shixi.com/&#39; \
  -H &#39;Accept-Language: zh-CN,zh;q=0.9&#39; \
  -H &#39;Cookie: UM_distinctid=17a50a2c8ea537-046c01e944e72f-6373267-100200-17a50a2c8eb4ff; PHPSESSID=rpprvtdrcrvt54fkr7msgcde17; CNZZDATA1261027457=1711789791-1624850487-https%253A%252F%252Fwww.baidu.com%252F%7C1627741311; Hm_lvt_536f42de0bcce9241264ac5d50172db7=1627741268; Hm_lpvt_536f42de0bcce9241264ac5d50172db7=1627741334&#39; \
  --compressed \
  --insecure
有了上述curl后,就可以通过curl2py命令,将其转换为python代码。
from curl2py.curlParseTool import curlCmdGenPyScript

curl_cmd = """curl &#39;http://www.shixi.com/search/index?key=python&#39; \
  -H &#39;Connection: keep-alive&#39; \
  -H &#39;Cache-Control: max-age=0&#39; \
  -H &#39;Upgrade-Insecure-Requests: 1&#39; \
  -H &#39;User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36&#39; \
  -H &#39;Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9&#39; \
  -H &#39;Referer: http://www.shixi.com/&#39; \
  -H &#39;Accept-Language: zh-CN,zh;q=0.9&#39; \
  -H &#39;Cookie: UM_distinctid=17a50a2c8ea537-046c01e944e72f-6373267-100200-17a50a2c8eb4ff; PHPSESSID=rpprvtdrcrvt54fkr7msgcde17; CNZZDATA1261027457=1711789791-1624850487-https%253A%252F%252Fwww.baidu.com%252F%7C1627741311; Hm_lvt_536f42de0bcce9241264ac5d50172db7=1627741268; Hm_lpvt_536f42de0bcce9241264ac5d50172db7=1627741334&#39; \
  --compressed \
  --insecure"""

output = curlCmdGenPyScript(curl_cmd)
print(output)
最终结果如下:
Koleksi yang disyorkan |. 1 perpustakaan Python, 4 fungsi hebat!
可以看到,很多参数都被转换为规则的Python代码了,我们直接拿着用即可,是不是很方便。

Atas ialah kandungan terperinci Koleksi yang disyorkan |. 1 perpustakaan Python, 4 fungsi hebat!. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:Python当打之年. Jika ada pelanggaran, sila hubungi admin@php.cn Padam