Exécuter l'interpréteur Python dans le script

Pour exécuter l'interpréteur Python dans un script

Avez-vous déjà voulu ** exécuter un interpréteur dans un script Python **? Vous pouvez utiliser les fonctions et les classes que vous avez créées depuis le début, et vous pouvez également exécuter du code Python ordinaire. N'est-ce pas sympa!

Basiques

En Python, il existe une ** bibliothèque standard ** appelée code.py qui peut exécuter des interpréteurs.

myconsole.py


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

Écrivez comme ça. Ici, code.InteractiveConsole reçoit l'argument locals = locals (), locals () est une fonction ** qui renvoie toutes les valeurs des * variables de zone locale d'elle-même (ici dans le script) au format dictionnaire. En donnant ceci comme argument, ** les fonctions du script, etc. sont passées à l'interpréteur python lancé **

Lorsque vous exécutez ce script

$ 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)
>>>

C'est ainsi que l'interpréteur Python fonctionne!

Version avancée

J'ai utilisé ce code.py de cette façon.

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()

Ce script python a une fonction pour convertir le code couleur. Quand j'exécute ce script ...

$ 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']
>>>

De cette manière, l'interpréteur Python est démarré et vous pouvez utiliser la fonction créée ** sans rien importer. La raison pour laquelle vous n'avez rien à importer est que le code ci-dessus dit locals = locals ().

Si vous n'avez pas défini locaux = locaux () ici,

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__']
>>>

De cette manière, vous ne pourrez pas utiliser les fonctions du script.

Lien de référence

Recommended Posts

Exécuter l'interpréteur Python dans le script
Exécuter un script multiligne dans un PDB
Obtenez le chemin du script en Python
Exécutez un algorithme simple en Python
Ecrire le test dans la docstring python
Lançons le script Bash en Java
Comment exécuter des scripts Maya Python
Créez un script shell pour exécuter le fichier python plusieurs fois
Exécuter des scripts Python à partir d'applications C # GUI
[Python] Récupérez les fichiers dans le dossier avec Python
Récupérer l'appelant d'une fonction en Python
Copiez la liste en Python
Jusqu'à ce que l'exemple de changefinder s'exécute sur python
Appel de scripts Python à partir de Python intégré en C ++ / C ++
Sortie sous la forme d'un tableau python
[Python] Trouvez la matrice de translocation en notation d'inclusion
Exécutez des scripts Python à partir d'Excel (en utilisant xlwings)
Vérifiez si la chaîne est un nombre en python
Prendre une capture d'écran en Python
Créer une fonction en Python
Une solution si vous supprimez accidentellement l'interpréteur python dans / usr / local / bin /.
Exécuter des tâches automatisées en Python
Trouver des erreurs en Python
Exécuter des commandes shell en Python
Exécuter Python unittest en parallèle
Exécutez le script illustrator à partir de python
Créer un plugin pour exécuter Python Doctest sur Vim (2)
Créez un plug-in pour exécuter Python Doctest avec Vim (1)
Que contient cette variable (lorsque le script Python est en cours d'exécution)
Créer un bookmarklet en Python
Ecrire un histogramme à l'échelle logarithmique sur l'axe des x en python
Dessinez un cœur en Python
Exécuter un fichier Python avec une importation relative dans PyCharm
Un mémorandum sur la mise en œuvre des recommandations en Python
Que signifie le dernier () dans une fonction en Python?
Utilisez tkinter pour déplacer le code de sortie en tant que "A et prétendant être B" en python
J'ai remplacé le livre de recettes Windows PowerShell par un script python.
Découvrez la largeur apparente d'une chaîne en python
Comment exécuter un programme Python à partir d'un script shell
Comment utiliser la méthode __call__ dans la classe Python
Changer la destination de sortie standard en un fichier en Python
Créons un script qui s'enregistre avec Ideone.com en Python.
Remarques sur l'intégration du langage de script dans les scripts bash
Remarque 2 pour intégrer le langage de script dans un script bash
Obtenez le nombre d'éléments spécifiques dans la liste python
Création d'un script Python prenant en charge l'API e-Stat (ver.2)
Traitez les fichiers du dossier dans l'ordre avec le script shell
Faites quelque chose comme un interpréteur Python avec Visual Studio Code
[Note] Importation de fichiers dans le répertoire parent en Python
Comment obtenir la dernière (dernière) valeur d'une liste en Python
Exécutez le fichier python après avoir activé l'environnement virtuel python avec le fichier de commandes
Un ensemble de fichiers de script qui font wordcloud avec Python3
Trouver les valeurs propres d'une vraie matrice symétrique en Python
Script Python qui compare le contenu de deux répertoires
J'ai écrit un script qui divise l'image en deux
Probablement dans un serpent Nishiki (Titre original: Peut-être en Python)
Ecrire une dichotomie en Python
[python] Gérer les fonctions dans une liste
Appuyez sur une commande en Python (Windows)