[Persönliches Memo] julia - Verwenden Sie die Python-Bibliothek mit julia unter Verwendung von PyCall

Verwenden Sie die Python-Bibliothek

Ich berühre morgens immer noch das Mac Book Pro Retina 13 Zoll mit einem Doy-Gesicht. Ich dachte, ich würde heute auch Julia machen. Zuvor schrieb ich in Qiitas Artikel, dass Python auch verwendet werden könnte.

[Persönliches Memo] Probieren Sie Julias Webanwendungs-Framework "Morsel" aus

Ich dachte, ich würde es versuchen, also werde ich es versuchen. Sie können Python-Bibliotheken mit PyCall.jl ausführen.

https://github.com/stevengj/PyCall.jl

Probieren wir es aus.

Installieren Sie PyCall.jl

Führen Sie den folgenden Befehl von Julias REPL aus

Pkg.add("PyCall")

Das ist in Ordnung

Probieren Sie die Python-Bibliothek aus

In dem in README.md von PyCall.jl geschriebenen Beispiel Ich benutze die Mathematikbibliothek.

https://github.com/stevengj/PyCall.jl/blob/ef23e044d4870d3440a76c79d09c85a36c510d06/README.md

using PyCall
@pyimport math
math.sin(math.pi / 4) - sin(pi / 4)  # returns 0.0

Kann ich eine Bibliothek mit regulären Ausdrücken verwenden?

Probieren Sie es vorerst aus

Ausprobieren.

using PyCall

@pyimport re

match_pattern = re.compile("Welcome to (.+\.)")

groups_of_match = pycall(match_pattern["search"], PyObject, "Welcome to underground.")["group"]

result = convert(String, pycall(groups_of_match, PyObject, 0))
match_of_group = convert(String, pycall(groups_of_match, PyObject, 1))

println("All match is [$result]")
println("Match of first regex group is [$match_of_group]")

Das Ausführungsergebnis ist wie folgt.

スクリーンショット 2014-05-27 9.37.12.png

Dieser Code entspricht dem folgenden in Python:

import re

match_pattern = re.compile("Welcome to (.+\.)")

groups_of_match = match_pattern.search("Welcome to underground.")

result = groups_of_match.group(0)
match_of_group = groups_of_match.group(1)

print("All match is [{result}]".format(result=result))
print("Match of first regex group is [{match_of_group}]".format(
  match_of_group=match_of_group)
)

Ausführungsergebnis

スクリーンショット 2014-05-27 9.45.26.png

Verwendete Funktionen usw.

Pycall-Funktion

Laut Referenz

pycall(function::PyObject, returntype::Type, args...)

Da es im Format geschrieben ist, habe ich Folgendes für den Test der Bibliothek für reguläre Ausdrücke getan.

pycall(match_pattern["search"], PyObject, "Welcome to underground.")["group"]

PyObject gibt numerische, boole und funktionale Typen zurück. Es sieht aus wie ein bequemes Objekt. (Die Beschreibung besagt, dass PyObject der C-API verwendet wird.)

Durch Aufrufen von pycall wie oben, Die Gruppe, die dem regulären Ausdruck und der gesamten übereinstimmenden Zeichenfolge entspricht, kann verwendet werden.

match_pattern["search"]Ist Rufen Sie die Attribute des Objekts ab, wie in PyObject Description beschrieben. In diesem Fall rufen Sie die ** search ** -Methode des Match-Objekts für reguläre Ausdrücke auf.

convert

Beschreibung konvertieren ist in der Beschreibung von PyObject geschrieben.

convert(T, o::PyObject)

Kurz gesagt, Besetzung. Ich wollte es zu einer Art Julia machen, also Ich habe das Ergebnis des regulären Ausdrucks (PyObject) in den String-Typ von Julia umgewandelt.

convert(String, pycall(groups_of_match, PyObject, 0))

Ich könnte den PyObject-Typ leicht in den String-Typ umwandeln.

Berühre es leicht

PyCall zu haben scheint eine von Julias Beschwerden zu sein. Die Anzahl der eigenen Bibliotheken von Julia ist für die eingebauten nicht sehr groß. Ich fand es gut, Python-Bibliotheksressourcen verwenden zu können ^ - ^

Recommended Posts

[Persönliches Memo] julia - Verwenden Sie die Python-Bibliothek mit julia unter Verwendung von PyCall
Ich habe versucht, die Python-Bibliothek von Ruby mit PyCall zu verwenden
Der Schmerz von gRPC mit Python. November 2019. (Persönliches Memo)
[S3] CRUD mit S3 unter Verwendung von Python [Python]
Twitter-Grafiknotiz mit Python
Verwenden von Quaternion mit Python ~ numpy-quaternion ~
[Python] Verwenden von OpenCV mit Python (Basic)
Python-Memo mit Perl --join
Verwenden von OpenCV mit Python @Mac
Senden Sie mit Python mit Google Mail
Verwenden von Jupyter Notobook mit VS Code (Mac OS) (Persönliches Memo)
Versuchen Sie Juniper JUNOS PyEz (Python-Bibliothek) Memo 3 ~ Ändern Sie die Einstellungen mit PyEz ~
Probieren Sie Juniper JUNOS PyEz (Python-Bibliothek) aus. Hinweis 2 ~ Informationen mit PyEz ~ abrufen ~
Vervollständigung von Python mit Emacs mit Company-Jedi
Harmonischer Mittelwert von Python (mit SciPy)
[Python] Verwenden von OpenCV mit Python (Bildfilterung)
Verwenden von Rstan aus Python mit PypeR
[Python] Verwenden von OpenCV mit Python (Bildtransformation)
[Persönliches Memo] Python-Memo für virtuelle Umgebungen
[Python] Verwenden von OpenCV mit Python (Kantenerkennung)
Python-Memo - Geben Sie die Optionen mit getopt an
Eingabe / Ausgabe mit Python (Python-Lernnotiz ⑤)
[Persönliches Memo] Python-Sequenztyp / Zuordnungstyp
Hinweise zur Verwendung von rstrip mit Python.
[HyperledgerIroha] Abfrage mit Python-Bibliothek
"Scraping & maschinelles Lernen mit Python" Lernnotiz
Bei Verwendung von MeCab mit virtualenv python
Vorsichtsmaßnahmen bei Verwendung von sechs mit Python 2.5
[Memo] Tweet auf Twitter mit Python
[Python] Fehler- und Lösungsnotiz bei Verwendung von venv mit pyenv + anaconda
[AWS] Verwenden von INI-Dateien mit Lambda [Python]
Konvertieren Sie Memos sofort mit Python 2to3
WEB-Scraping mit Python (für persönliche Notizen)
Versuchen Sie eine Formel mit Σ mit Python
Python-Memo
Memo, um nach KPI mit Python zu fragen
Hinter dem Flyer: Docker mit Python verwenden
Python-Memo
Verwenden von Python und MeCab mit Azure Databricks
"Systemhandel beginnt mit Python3" Lesememo
Socket-Kommunikation über Socket-Server mit Python jetzt
Python-Memo mit Perl-Format ist praktisch.
Installieren Sie die Python-Bibliothek auf Lambda mit [/ tmp]
Python-Memo
Ein Memo mit Python2.7 und Python3 in CentOS
Versuchen Sie, Python mit Google Cloud-Funktionen zu verwenden
Verwenden Sie die Verschlüsselung der Verschlüsselungsbibliothek mit dem Python-Image von Docker
Überprüfen Sie die Aktienkurse mit Slackbot mit Python
Arbeiten mit OpenStack mit dem Python SDK
[Persönlicher Hinweis] Scraping von Webseiten in Python3
Tipps zur Verwendung von Python + Caffe mit TSUBAME
Python-Memo
Python-Memo
Versuchen Sie HTML-Scraping mit der Python-Bibliothek
Python-Standardbibliothek: zweite Hälfte (Python-Lernnotiz ⑨)
Veröffentlichen Sie Ihre eigene Python-Bibliothek auf Homebrew
Powerpo automatische Generierung mit Python-Pptx (persönliches Memo)
Ich verwende Tox und Python 3.3 mit Travis-CI
Python-Memo
Python-Standardbibliothek: Erste Hälfte (Python-Lernnotiz ⑧)