Heim  >  Artikel  >  Backend-Entwicklung  >  Empfohlene Sammlung |. 1 Python-Bibliothek, 4 tolle Funktionen!

Empfohlene Sammlung |. 1 Python-Bibliothek, 4 tolle Funktionen!

Python当打之年
Python当打之年nach vorne
2023-08-10 15:34:521207Durchsuche

Heute stelle ich eine Python-Bibliothek [filestools] vor, die von einem großen Kerl entwickelt wurde, mit dem jeder vertraut ist.

Die Filestools -Bibliothek enthält derzeit vier Werkzeugpakete Ⅲ Wasserzeichen zu Bildern hinzufügen;
  • Ⅳ Curl-Netzwerkanforderungsbefehl in Anforderungsbibliotheksanforderungscode umwandeln;
  • Zuerst gebe ich Ihnen die Anweisungen zur direkten Verwendung der Filestools-Bibliothek, damit Sie es lernen können später selbst. 【Betreten Sie die offizielle Website, um den Namen des Chefs anzuzeigen】
  • https://pypi.org/project/filestools/
Sie müssen dies installieren Bibliothek, bevor Sie sie verwenden. Eine Befehlszeile kann dies tun:
pip install filestools -i https://pypi.org/simple/ -U
1. Baumverzeichnisanzeige
Diese Funktion kann uns dabei helfen, alle Dateien und Ordner im angegebenen Verzeichnis rekursiv anzuzeigen und die Informationen zu jeder Datei und jedem Ordner anzuzeigen Die Größe ist auf einen Blick klar. Nehmen wir zur Erklärung Fenster als Beispiel.
Der gesamte Vorgang wird im schwarzen CMD-Fenster ausgeführt. Zuerst müssen Sie lernen, wie Sie zur angegebenen Festplatte und zum angegebenen Verzeichnis wechseln.
# 这样即可将C盘,切换到D盘
C:\Users\Administrator>D:

# 使用cd命令,可以切换到指定盘的指定目录
C:\Users\Administrator>cd C:\Users\Administrator\Desktop\python三剑客\加盟店爬虫

Es sind zwei Befehle darin: tree und tree2.

Wenn in Ihrem System die Priorität des lokalen Pythons höher ist als die Priorität der Systemumgebung, führen Sie den Baumbefehl direkt aus.
Wenn in Ihrem System die Priorität der Systemumgebung ist höher als die Priorität des lokalen Python. Zusätzlich zum Anpassen der Reihenfolge der Umgebungsvariablen und zum Ändern der Priorität können Sie auch den Befehl tree2 verwenden, der mit tree konsistent ist.Aber wenn Sie den Baumbefehl zu diesem Zeitpunkt ausführen, werden Sie den Effekt nicht sehen;
Anhand meines Computers werde ich es allen demonstrieren:
Empfohlene Sammlung |. 1 Python-Bibliothek, 4 tolle Funktionen!
Sie können sehen: Ich führe hier den Baumbefehl aus. Was angezeigt wird, ist die Systemanzeige vor der Installation der Bibliothek.
Dies wird dadurch verursacht, dass die Systemumgebung eine höhere Priorität hat als das lokale Python.
Empfohlene Sammlung |. 1 Python-Bibliothek, 4 tolle Funktionen!
An diesem Punkt können wir den Befehl tree2 direkt ausführen.
Empfohlene Sammlung |. 1 Python-Bibliothek, 4 tolle Funktionen!
Natürlich führt nicht jeder gerne Befehle im CMD-Fenster aus.这里我们直接在jupyter notebook中,执行如下操作:
from treedir.tree import tree_dir
tree_dir(r"C:\Users\Administrator\Desktop\python三剑客\加盟店爬虫", m_level=7, no_calc=False)
结果如下:
Empfohlene Sammlung |. 1 Python-Bibliothek, 4 tolle Funktionen!
关于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>
Empfohlene Sammlung |. 1 Python-Bibliothek, 4 tolle Funktionen!
需求:想看看对哪里做了修改(如果内容很多的话)
from filediff.diff import file_diff_compare
file_diff_compare("a.txt", "b.txt")
这会在当前工作目录下,生成一个<span style="font-size: 15px;">html</span>网页文件。
Empfohlene Sammlung |. 1 Python-Bibliothek, 4 tolle Funktionen!
双击打开,观察其中的内容:
Empfohlene Sammlung |. 1 Python-Bibliothek, 4 tolle Funktionen!
其中:<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:设置这个参数,在生成结果后,不会自动打开游览器。Wenn der Browser auf „Falsch“ eingestellt ist, wird er automatisch geöffnet.
3. Wasserzeichen zu Bildern hinzufügen.

Schriftgröße: 14px;Padding: 2px 4px;Randradius: 4px;Rand rechts: 2px;Rand links: 2px;Hintergrundfarbe: rgba(27, 31, 35, 0,05);Schriftfamilie: "Operator Mono", Consolas, Monaco, Menlo, monospace;word-break: break-all;color: rgb(239, 112, 96);">Wasserzeichenbilder

Code, Aufruf zum Hinzufügen von Wasserzeichen zu Bildern ist die Funktion 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>
Das Originalbild ist wie folgt:
Empfohlene Sammlung |. 1 Python-Bibliothek, 4 tolle Funktionen!
Der Endeffekt ist wie folgt:
Empfohlene Sammlung |. 1 Python-Bibliothek, 4 tolle Funktionen!

4. Curl-Netzwerkanfrage an fordert Bibliotheksanforderungscode an

Wenn wir Crawler schreiben, verwenden wir oft einige Parameterinformationen, wie zum Beispiel diese:
Empfohlene Sammlung |. 1 Python-Bibliothek, 4 tolle Funktionen!
Wäre es mühsam, wenn wir jeden einzelnen manuell kopieren würden?
Diese Funktion kann dieses Problem lösen, sie kann cURL in Python-Code konvertieren, wir müssen ihn nur kopieren.
Die allgemeinen Schritte sind wie folgt:
  • Ⅰ Kopieren Sie zunächst die vom Netzwerk erfasste Netzwerkanforderung in cURL (Bash);
  • Ⅱ Konvertieren Sie sie mit dem Befehl „curl2py“ Für Python-Code ;
mit dient zur Veranschaulichung als Beispiel.
http://www.shixi.com/search/index?key=python
🎜Folgen Sie dem Bild unten, wir haben den Curl einer einzelnen Anfrage kopiert.
可以看到: 这里有各种不同的请求url,然后<span style="font-size: 12px;">-H</span>后面是该请求对应的各种参数。我们需要请求哪个链接,就复制对应的curl。
仔细观察下图哦:
Empfohlene Sammlung |. 1 Python-Bibliothek, 4 tolle Funktionen!
复制了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)
最终结果如下:
Empfohlene Sammlung |. 1 Python-Bibliothek, 4 tolle Funktionen!
可以看到,很多参数都被转换为规则的Python代码了,我们直接拿着用即可,是不是很方便。

Das obige ist der detaillierte Inhalt vonEmpfohlene Sammlung |. 1 Python-Bibliothek, 4 tolle Funktionen!. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:Python当打之年. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen