Python, bekannt als die Skriptsprache für gefrorenen Thunfisch, Es ist auch berühmt für seine vielen schön benannten Pakete.
Referenz: 7 Python-Begriffe, die Sie vorlesen möchten http://doloopwhile.hatenablog.com/entry/20120120/1327062714
Fasziniert von diesen wunderschön benannten Paketen, ** Wie schön benannte Pakete existieren ** ** Ich habe mich entschlossen, ernsthaft nachzuforschen. ** ** **
Die Referenzinformationen sind etwas alt wie 2012 und Wenn Sie jetzt noch einmal suchen, werden Sie sicherlich ** noch schönere Namen ** finden! !!
Python-Paketverwaltungssystem = ** pip ** Zielpakete sind alle Es ist in ** PyPI ** registriert. https://pypi.org/
Die Gesamtzahl ist "** 219.370 *"! ( Stand Februar 2020) Es ist kein Betrag, der manuell bestätigt werden kann.
Ich möchte ruhende Pakete ausschließen, die überhaupt nicht verwendet werden ** Pakete, die im letzten Jahr mehrmals installiert wurden ** Ich würde gerne zielen. Zum Beispiel listet die Referenzseite, ** Pychinko ** Scheint nicht mehr auf der Welt zu existieren und ist ausgeschlossen ** Pyzuri ** Leider scheint es überhaupt keinen Download zu geben, daher ist dies ausgeschlossen.
Alle diese Paketnamen und ihre Download-Informationen Es kann mit ** pypinfo ** und ** BigQuery ** bezogen werden (Details werden später beschrieben).
Weil der Paketname alphanumerisch ist ** Katakana zwangsweise lesen ** Führt eine japanische Konvertierungsverarbeitung durch. (Weil der Paketname kein einfaches englisches Wort ist Dies ist ein ziemlich schwieriger Prozess.
Zum Schluss mit der ** "Beautiful Word List" **, die ich im Voraus gemacht habe Suchen Sie nach Paketnamen, die ins Japanische übersetzt wurden.
Durch solche stetigen Bemühungen ~~ Omoshiroi ~~ Ein Paket mit einem schönen Namen ** Ich konnte viel finden! ** ** **
Vor dem Code werde ich das Ergebnis früher vorstellen. Ich habe viele Dinge gefunden, aber ich habe 18 davon ausgewählt. Wenn der Referenzartikel die Heisei-Ausgabe ist, 18 Auswahlen der japanischen Version, abgekürzt als "** R18 **".
Bitte genießen Sie den schönen Namenssinn von ** Paison ** mit Beispielsätzen.
31.001 DL im letzten Jahr Ein Tool, um festzustellen, ob ein Name weiblich oder männlich ist.
Lassen Sie uns im April neue Programmierer laut unterrichten. ** Beispiel: Wenn Sie nicht verstehen, fragen Sie [Sexmaschine]! ** ** **
163 DL im letzten Jahr Formale Formular- und Dienstprogramm-Widget-Bibliothek.
Lass uns im April bei der Arbeit schreien. ** Beispiel: Ich habe an Feiertagen immer mit [Methanal] gespielt **
64.492 DL im letzten Jahr Ein Tool zum Beheben von Konsolenbefehlsfehlern. https://github.com/nvbn/thefuck
Wenn ein Fehler auftritt, sagen Sie einfach "Fett !!" Es scheint beliebt zu sein, weil es automatisch auf diejenigen reagiert, die eine überraschende Stimme abgeben.
Lass es uns im April lesen. ** Beispiel: [zum Teufel] [zum Teufel] [zum Teufel]! !! ** ** **
427 DL im letzten Jahr Ein Python-Paket, das Daten einfach an Microsoft Azure SQL DB sendet. https://github.com/dacker-team/pyzure
Obwohl der ursprüngliche Pyzuri verschwunden ist, hat er ein neues Talent entdeckt.
Reden wir im April mit allen. ** Beispiel: Ich bin froh, dass ich gestern Abend [pyzure] ausprobiert habe **
78 DL im letzten Jahr Es ist ein CLI-Tool zum ** Einfügen ** von Daten in Remote-AskOmics.
Lassen Sie sich im April sanft daran erinnern. ** Beispiel: Beim Einfügen zuerst [askocli] **
71 DL im letzten Jahr Windows / Linux, mit dem Sie vollständige Nachrichten senden und empfangen können Python 2 und 3 kompatibler Socket Wrapper.
Lassen Sie uns im April heimlich anvertrauen ** Beispiel: Ich benutze tatsächlich [Strümpfe] **
34 DL im letzten Jahr Details sind unbekannt. Dies kann aufgrund fehlender Dokumentation unangenehm sein.
Reden wir im April ** Beispiel: Ich bin süchtig nach [osex] und habe Probleme **
488 DL, 109 DL im letzten Jahr
Da es eine große Anzahl von Pai-Pai-Systemen gibt, kann der Gesamtbetrag nicht aufgelistet werden. Ich bin sicher, dass es viele benutzerfreundliche Pakete gibt.
Lasst es uns im April loben ** Beispiel: [mypypi] ist das Beste! ** ** **
570 DL, 1.114 DL im letzten Jahr
Lassen Sie uns im April mit lauter Stimme erklären ** Beispiel: Ich habe immer [Pypandas] **
535 DL, 40 DL im letzten Jahr
Lassen Sie es uns im April einem Kollegen vorstellen ** Beispiel: Ich zeige dir meine [schicke Hose]! ** ** **
512 DL im letzten Jahr Allzweck-Automatisierungsframework für Abnahmetests und Roboterprozessautomatisierung (RPA) = Es scheint, dass "Roboter-Framework" wie ein blauer Tanuki geformt ist?
Haben Sie keine Angst, Ihre Hausaufgaben im April zu vergessen ** Beispiel: Wenn Sie ein Problem haben, werde ich [Doraemon-Roboter-Framework] fragen **
49 DL im letzten Jahr Webanwendungsframework, das den Kern von Pyramid verwendet? Wie es scheint.
Lass es uns im April versuchen ** Beispiel: Ich habe [baka] in meinen Computer eingegeben **
52 DL im letzten Jahr
Lass uns irgendwie im April twittern ** Beispiel: [hn Kommentare]. Fufufu **
52 DL, 25 DL im letzten Jahr
Lassen Sie uns über die zukünftigen Erwartungen im April sprechen ** Beispiel: Lass uns von jetzt an [sexy Zeit] beginnen! ** ** **
Zur Zeit des Englischen gab es bereits viele ** Machtwörter **. Lassen Sie es uns im April bei der Arbeit oder in der Schule vorlesen. ** Ich bin sicher, die Menschen um mich herum werden die Ankunft des Frühlings spüren **. Das Folgende sind technische Details, daher denke ich, dass viele Leute sie nicht ansehen müssen. ~~ Bitte wenden Sie sich an Interessenten.
** Einführung ** wunderschön benannter Pakete ** im Ernst ** Und dieser Artikel **, der den ** Erfassungscode ** erklärt ** Ich mache mir keine Sorgen, "zensiert / gelöscht" zu werden **.
Wenn jedoch ** ein Erwachsener mit einem schmutzigen Herzen ** sieht, Sie können es in einer anderen Bedeutung als der ursprünglichen Absicht erhalten **.
** In diesem Artikel geht es um verschiedene Umstände ** ** Bitte beachten Sie, dass es unerwartet verschwinden kann. ** ** ** Bitte versuchen Sie es auf jeden Fall, bevor es verschwindet.
In PyPI (paipai), wo das Pip-Paket registriert ist, Ein Datensatz dieser Statistik Es wird auf ** Google / BigQuery ** veröffentlicht. Ein Tool, mit dem Sie diese Informationen leicht erhalten können ** pypinfo **.
Mit BigQuery arbeiten Befolgen Sie die Schritte auf der folgenden Website https://github.com/ofek/pypinfo Google Cloud Platform (GCP) Konto und Sie müssen die Anmeldeinformationen (JSON-Datei) erstellen.
Verwenden Sie nach dem Erstellen der JSON-Datei den Browser Colaboratory(https://colab.research.google.com/?hl=ja) Lassen Sie uns den Befehl wie folgt starten und ausführen.
Mounten Sie Google Drive.
from google.colab import drive
drive.mount('/content/drive')
Erstellen Sie diesen Arbeitsordner.
!mkdir "drive/My Drive/PYPI"
#Laden Sie die zuvor hier erstellte JSON-Datei zur Authentifizierung hoch.
Installieren Sie pypinfo.
pip install pypinfo
Geben Sie den Pfad der JSON-Datei für die Authentifizierung an, um die Authentifizierungsinformationen abzurufen.
!pypinfo --auth "/content/drive/My Drive/PYPI/YourGCPProjectName-XXXXXXXXX.json"
Bestätigung der Kommunikation mit pypinfo (Sie können die Anzahl der Downloads von "Anfrage" wie folgt erhalten)
!pypinfo requests
#Served from cache: False
#Data processed: 67.70 GiB
#Data billed: 67.70 GiB
#Estimated cost: $0.34
#
#| download_count |
#| -------------- |
#| 61,319,474 |
Darüber hinaus nach Land, Version, Betriebssystem des Installationsziels usw. Sie können verschiedene Informationen erhalten, versuchen wir es also anhand des Beispiels auf der offiziellen Website.
Wie Sie oben unter "Geschätzte Kosten: 0,34 USD" sehen können In BigQuery jedes Mal, wenn Sie eine Abfrage auslösen Es ist wichtig zu beachten, dass Sie entsprechend der Menge der gelesenen Daten belastet werden. Mit dem Always Free-Frame von 1 TB / Monat Weil es für neue GCP-Benutzer eine kostenlose Stufe von 300 US-Dollar pro Jahr gibt Der normale Gebrauch sollte in Ordnung sein. Achten Sie darauf, nicht nur schwere Abfragen für die vollständige Erfassung auszulösen.
Lassen Sie uns nun endlich eine Abfrage für diese Datenerfassung werfen.
Senden Sie eine Anfrage für das letzte Jahr und speichern Sie die Ergebnisse in einer Datei.
!pypinfo --days 365 --limit 250000 "" project > "drive/My Drive/PYPI/PYPINFO_365_LIST.txt"
#Served from cache: False
#Data processed: 636.49 GiB
#Data billed: 636.49 GiB
#Estimated cost: $3.11
#| project | download_count |
#| --------------------------------------------------------------------------------- | -------------- |
#| urllib3 | 950,108,414 |
#| six | 788,263,157 |
#| botocore | 693,156,212 |
#| requests | 656,942,399 |
#~~ Folgendes wird weggelassen ~~
Für Ihre Information, Die Gesamtzahl der Downloads im letzten Jahr beträgt Ungefähr 37.498.000.000 Mal Es gab ungefähr 215.000 Pakettypen.
Da die Gesamtzahl der Pakete etwa 220.000 beträgt, Mit Blick auf das Niveau des letzten Jahres, was registriert ist Die meisten werden "lebendig" sein. Weil es keinen Pychinko gibt, der vorher existiert haben soll Es kann regelmäßig inventarisiert werden. In den letzten 30 Tagen gab es also ungefähr 134.000 Typen Gibt es weniger als 100.000 Typen, die etwas anständig verwendet werden?
Der Paketname und die Download-Zähldatei, die Sie zuvor erhalten haben, sind Es ist leicht zu sehen und bequem für die Menschen zur Hand zu stöbern, Um programmgesteuert damit umgehen zu können, müssen Sie es analysieren und verarbeiten.
Achten Sie auf das Entfernen der Kostenzeile der Eröffnungsabfrage, der Überschriftenzeile / Gesamtzeile der Tabelle usw. Gehen Sie wie folgt vor, um das LIST-Format zu erhalten.
Lesen Sie die Ergebnisdatei während der Verarbeitung und machen Sie sie zu einer LISTE
f = open('/content/drive/My Drive/PYPI/PYPINFO_365_LIST.txt')
line = f.readline() #Zeile für Zeile lesen(Enthält: Zeilenvorschubzeichen)
pypinfo_list = []
while line:
#Wenn es drei Schwellenwerte gibt = Überschrift, Rahmen und Gesamt sind blockiert, kann dies jedoch durch diese Bedingung unterschieden werden
if line.count('|') != 3:
line = f.readline()
continue
else:
#Entfernen Sie den Zeilenvorschubcode, Kommas und Leerzeichen mit halber Breite
parsed_line = line.replace('\n', '').replace(' ', '').replace(',', '')
one_data = parsed_line.split('|')
#['', 'urllib3', '950108414', '']Verwenden Sie die mittleren beiden in Form von
#Anmerkungen: Numerische Werte werden derzeit als Zeichenfolgen behandelt
one_data = one_data[1:3]
pypinfo_list.append(one_data)
line = f.readline()
f.close
#Entfernen Sie die ersten beiden Überschriftenzeilen und die letzte Gesamtzeile
pypinfo_list = pypinfo_list[2:-1]
Ich frage mich, ob Pypinfo es bietet, aber Ich habe es selbst gemacht. Wenn ja, Es kostet jedes Mal ungefähr 3 US-Dollar, anstatt es getrennt von der Textversion zu werfen Außerdem wird die Anzahl der Abfrageübermittlungen gespeichert. Ich denke, diese ① und ② sind auch nützlich, wenn Sie eine Python-bezogene "Datenanalyse" durchführen.
Nun, ich konnte die Paketnamen auflisten, Zum Beispiel urllib ⇒ URlib python-dateutil ⇒ Python-Date Util Um den Paketnamen katakana wie zu machen Wie geht's?
Die Richtlinie besteht aus den folgenden 4 Schritten.
Die ersten "englischen Wörter zu Katakana" sind wie folgt Ich habe die Umrechnungstabelle von ** alkana.py ** verwendet. https://github.com/cod-sushi/alkana.py/blob/master/README_ja.md
Für 2-4 hauptsächlich aus der römischen Zeichenregel Ich habe eine Konvertierungstabelle mit ca. 330 Zeilen erstellt. Fügen Sie es zu den oben erwähnten Daten von alkana.py hinzu. Erstellen Sie eine Konvertierungstabelle als alkana_list.
Hier geht es darum, die Länge der englischen Zeichenkette als Schlüssel zu verwenden. Sortieren Sie alkana_list in absteigender Reihenfolge.
x[0]Geben Sie die Länge der Zeichenkette im Voraus in das Element von ein
alkana_list = sorted(alkana_list, key=lambda x: x[0], reverse=True)
#Für Elemente mit hoher Priorität wie py ⇒ pie und python ⇒ python
# [30, 'py', 'Kuchen']Wenn Sie sich mit einer langen Länge registrieren, erhöht sich die Priorität.
Die Konvertierung wird nun in der Reihenfolge des längsten Wortes angewendet. Die tatsächliche Konvertierung ist wie folgt. Aufgrund der Menge dauert es jeweils etwa 50 Minuten. Sie können tqdm verwenden, um den Fortschritt auf dem Weg wie unten gezeigt anzuzeigen. Es ist einfacher zu verwenden, wenn Sie es nach der Verarbeitung mit Gurke speichern.
Fügen Sie allen Modulen Katanaka-Leseinformationen hinzu
from tqdm import tqdm
pypinfo_jp_list = []
for pypinfo in tqdm(pypinfo_list):
#Speichervariable für japanische Modulnamen (Englisch wird an dieser Stelle gespeichert)
jp_module_name = pypinfo[0]
for data in alkana_list:
#Konvertieren Sie die Konvertierungstabelle in der richtigen Reihenfolge.
jp_module_name = jp_module_name.replace(data[1], data[2])
pypinfo_jp_list.append([pypinfo[0], jp_module_name, int(pypinfo[1])])
print(len(pypinfo_jp_list))
print(pypinfo_jp_list[0:10])
import pickle
with open('/content/drive/My Drive/PYPI/pypinfo_jp_list.pickle', 'wb') as f:
pickle.dump(pypinfo_jp_list, f)
Als spezielles Werkzeug zur Verarbeitung natürlicher Sprache Es kann einige Verwendungen geben.
Suchen Sie abschließend nach Paketen, die bestimmte Schlüsselwörter enthalten. Registrieren Sie ** Ihre Lieblingswörter ** im Voraus in "Beautiful_tango_list". Es schleift nur. Wenn Sie viele verwendete Begriffe wie "pai" angeben, Denken Sie daran, dass die Ergebnisse enorm sein werden. Diesmal eine bestimmte "Seite, die elegante Wörter auflistet" Ich habe mir das Wort geliehen.
Ich denke, die Druckausgabe in Colaboratory beträgt bis zu 5000 Zeilen Wenn Sie ungefähr 10.000 Zeilen verwenden, ist es besser, wie unten gezeigt in eine Datei auszugeben.
Beautiful_tango_Suchen Sie den Inhalt der Liste und schreiben Sie ihn in den Text
result_str = ""
for word in Beautiful_tango_list:
result_str += "■"+" "+ word + "\n"
for data in pypinfo_jp_list:
if word in data[1]:
result_str += str(data) + "\n"
result_str += "\n"
with open('/content/drive/My Drive/PYPI/Beautiful_Result.txt', 'w') as f:
print(result_str, file=f)
** Danke für Ihre Unterstützung. ** ** ** Vollständige Nutzung dieser Technologien und Codes, wie die obigen Ergebnisse, Ich konnte viele Pakete mit schönen Namen finden.
** Pythons Namenssinn ** ist tief. Genau wie beim nächsten Wort, wenn Sie das Wörterbuch nachschlagen Auch nur durch zufällige Begegnung mit dem Namen Es wäre großartig, wenn Sie Ihr Lieblingspaket treffen könnten.
** Schicksalhafte Begegnung von PyPI **, Das kann man sagen. Der Grund für mein Interesse an Technologie war "Ich war neugierig auf den Namen." Aber ist es nicht gut?
Da es sich um einen Artikel handelt, der das Paket sehr ernst nimmt, Es ist, als würde man an eine Bedeutung erinnern, die sich von der ursprünglichen Absicht unterscheidet ** Werfen Sie keine Steine, wenn Sie ein Erwachsener mit einem schmutzigen Herzen sind. ** ** ** Mit bestem Gruß.
** Auf geht's ** ** Pai ○ n und Pai Pa ○ sind ** ** Hat es dir gefallen? ** ** **
An die weisen Leser, die bisher gelesen haben, ** Die Wörter in ○ sind klar **.
Wenn jemand diesen Artikel falsch versteht oder sich darüber beschwert, Es müssen diejenigen sein, die immer über solche Dinge nachdenken.
Das ist alles vom Feld.
Recommended Posts