Führen Sie den Python-Interpreter im Skript aus

So führen Sie den Python-Interpreter in einem Skript aus

Wollten Sie schon immer einen Interpreter in einem Python-Skript ausführen? Sie können die Funktionen und Klassen verwenden, die Sie von Anfang an erstellt haben, und Sie können auch normalen Python-Code ausführen. Ist es nicht schön?

Grundlagen

In Python gibt es eine ** Standardbibliothek ** namens code.py, mit der Sie Interpreter ausführen können.

myconsole.py


import code
console = code.InteractiveConsole(locals=locals()) # <- locals=locals()Wichtig
console.interact()

Schreiben Sie so. Hier erhält code.InteractiveConsole das Argument Local = Locals (), local () ist eine ** Funktion, die alle Werte der * lokalen Bereichsvariablen von sich selbst (hier im Skript) im Wörterbuchformat zurückgibt. Wenn Sie dies als Argument angeben, werden ** Funktionen im Skript usw. an den gestarteten Python-Interpreter übergeben **

Wenn Sie dieses Skript ausführen

$ python myconsole.py
Python 2.7.5 (default, May 15 2013, 22:43:36) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>>

So läuft der Python-Interpreter!

Erweiterte Version

Ich habe diese code.py auf diese Weise verwendet.

color.py


import code


def split_code(colorcode, sep=2):

    for index, letter in enumerate(colorcode, start=1):
        if index == 1:
            continue

        elif index % sep == 0:
            yield colorcode[index-sep:index]


def get_rgb(colorcode):

    result = []

    for element in split_code(colorcode):
        result.append( int(element, 16) )

    return result

def get_colorcode(r, g, b):

    code = hex(r) + hex(g) + hex(b)

    result = list(split_code(code))

    return "".join(result[1::2])


if __name__ == "__main__":

    code.InteractiveConsole(locals=locals()).interact()

Dieses Python-Skript hat eine Funktion zum Konvertieren des Farbcodes. Wenn ich dieses Skript ausführe ...

$ python color.py
Python 2.7.5 (default, May 15 2013, 22:43:36) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> dir()
['__builtins__', '__doc__', '__file__', '__name__', '__package__', 'split_code', 'code', 'get_colorcode', 'get_rgb']
>>>

Auf diese Weise wird der Python-Interpreter gestartet und ** Sie können die erstellte Funktion verwenden, ohne etwas zu importieren **. Der Grund, warum Sie nichts importieren müssen, ist, dass der obige Code "local = local ()" lautet.

Wenn Sie hier nicht Locals = Locals () gesetzt haben,

Python 2.7.5 (default, May 15 2013, 22:43:36) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> dir()
['__builtins__', '__doc__', '__name__']
>>>

Auf diese Weise können Sie die Funktionen im Skript nicht verwenden.

Referenzlink

Recommended Posts

Führen Sie den Python-Interpreter im Skript aus
Führen Sie ein mehrzeiliges Skript in einem PDB aus
Holen Sie sich den Skriptpfad in Python
Führen Sie einen einfachen Algorithmus in Python aus
Schreiben Sie den Test in die Python-Dokumentzeichenfolge
Lassen Sie uns das Bash-Skript in Java ausführen
So führen Sie Maya Python-Skripte aus
Erstellen Sie ein Shell-Skript, um die Python-Datei mehrmals auszuführen
Führen Sie Python-Skripte in C # -GUI-Anwendungen aus
[Python] Holen Sie sich die Dateien mit Python in den Ordner
Holen Sie sich den Aufrufer einer Funktion in Python
Kopieren Sie die Liste in Python
Bis das Changefinder-Sample auf Python läuft
Rufen Sie Python-Skripte aus Embedded Python in C ++ / C ++ auf
Ausgabe in Form eines Python-Arrays
[Python] Finden Sie die Translokationsmatrix in Einschlussnotation
Führen Sie Python-Skripte in Excel aus (mit xlwings).
Überprüfen Sie, ob die Zeichenfolge eine Zahl in Python ist
Machen Sie einen Screenshot in Python
Erstellen Sie eine Funktion in Python
Eine Lösung, wenn Sie versehentlich den Python-Interpreter in / usr / local / bin / entfernen.
Führen Sie automatisierte Jobs in Python aus
Finde Fehler in Python
Führen Sie Shell-Befehle in Python aus
Führen Sie Python unittest parallel aus
Führen Sie das Illustrator-Skript von Python aus
Erstellen Sie ein Plug-In, das Python Doctest auf Vim ausführt (2)
Erstellen Sie ein Plug-In, um Python Doctest mit Vim (1) auszuführen.
Was ist in dieser Variablen (wenn das Python-Skript ausgeführt wird)?
Erstellen Sie ein Lesezeichen in Python
Schreiben Sie in Python ein logarithmisches Histogramm auf die x-Achse
Zeichne ein Herz in Python
Führen Sie eine Python-Datei mit relativem Import in PyCharm aus
Ein Memorandum über die Umsetzung von Empfehlungen in Python
Was bedeutet das letzte () in einer Funktion in Python?
Verwenden Sie tkinter, um den Ausgabecode in Python als "A und vorgeben, B zu sein" zu verschieben
Ich habe das Windows PowerShell-Kochbuch durch ein Python-Skript ersetzt.
Finden Sie die scheinbare Breite einer Zeichenfolge in Python heraus
So führen Sie ein Python-Programm in einem Shell-Skript aus
Verwendung der Methode __call__ in der Python-Klasse
Ändern Sie das Standardausgabeziel in eine Datei in Python
Erstellen wir ein Skript, das sich bei Ideone.com in Python registriert.
Hinweise zum Einbetten der Skriptsprache in Bash-Skripte
Hinweis 2 zum Einbetten der Skriptsprache in ein Bash-Skript
Holen Sie sich die Anzahl der spezifischen Elemente in der Python-Liste
Erstellen eines Python-Skripts, das die e-Stat-API unterstützt (Version 2)
Verarbeiten Sie die Dateien im Ordner in der Reihenfolge mit dem Shell-Skript
Machen Sie so etwas wie einen Python-Interpreter mit Visual Studio Code
[Hinweis] Import von Dateien in das übergeordnete Verzeichnis in Python
So erhalten Sie den letzten (letzten) Wert in einer Liste in Python
Führen Sie die Python-Datei aus, nachdem Sie die virtuelle Python-Umgebung mit der Batch-Datei aktiviert haben
Eine Reihe von Skriptdateien, die Wordcloud mit Python3 ausführen
Finden Sie die Eigenwerte einer reellen symmetrischen Matrix in Python
Python-Skript, das den Inhalt zweier Verzeichnisse vergleicht
Ich habe ein Skript geschrieben, das das Bild in zwei Teile teilt
Wahrscheinlich in einer Nishiki-Schlange (Originaltitel: Vielleicht in Python)
Schreiben Sie eine Dichotomie in Python
[Python] Verwalten Sie Funktionen in einer Liste
Drücken Sie einen Befehl in Python (Windows)