Vorsichtsmaßnahmen beim Beizen einer Funktion in Python

Was ich getan habe

Ich habe versucht, eine Python-Funktion auszuwählen und wiederherzustellen

Fazit

Schritte gemacht

  1. Schreiben Sie func () mit demselben Namen in test1.py und test2.py
  2. Speichern Sie func () und test2.func () von test1.py mit pickle
  3. Lesen Sie die Pickle-Datei aus test1.py und test2.py und führen Sie sie aus

Ergebnis

test1.py


This is test1.func()
This is test2.func()

test2.py


This is test2.func()
This is test2.func()

Wie oben erwähnt, liest test2.py func () mit demselben Namen. Wenn func () nicht in test2.py enthalten ist, tritt ein Fehler mit "Namensfehler: Name 'Funktion' ist nicht definiert" auf.

Wenn Sie test1.py mit test1.py importieren und test1.func als pickle speichern, wird es korrekt gelesen.

Code

Ich habe die folgenden zwei Dateien in dasselbe Verzeichnis gestellt und jeweils ausgeführt.

test1.py


import pickle
import test2


def save_pickle(obj, path):
    with open(path, mode='wb') as f:
        pickle.dump(obj, f)


def load_pickle(path):
    with open(path, mode='rb') as f:
        obj = pickle.load(f)
    return obj


def func():
    print('This is test1.func()')


def main():
    func()
    test2.func()

    path = 'test1_func.pickle'
    save_pickle(func, path)
    func_from_pickle = load_pickle(path)
    func_from_pickle()

    path = 'test2_func.pickle'
    save_pickle(test2.func, path)
    func_from_pickle = load_pickle(path)
    func_from_pickle()


if __name__ == '__main__':
    main()

test2.py


import pickle


def load_pickle(path):
    with open(path, mode='rb') as f:
        obj = pickle.load(f)
    return obj


def func():
    print('This is test2.func()')


def main():
    path = 'test1_func.pickle'
    func_from_pickle = load_pickle(path)
    func_from_pickle()

    path = 'test2_func.pickle'
    func_from_pickle = load_pickle(path)
    func_from_pickle()


if __name__ == '__main__':
    main()

Recommended Posts

Vorsichtsmaßnahmen beim Beizen einer Funktion in Python
Erstellen Sie eine Funktion in Python
Vorsichtsmaßnahmen bei der Verwendung von Pit mit Python
Vorsichtsmaßnahmen beim Erstellen eines Python-Generators
Beim Schreiben eines Programms in Python
[Python] Ausführungszeit, wenn eine Funktion in einen Wörterbuchwert eingegeben wird
Vorsichtsmaßnahmen beim Festlegen von Standardwerten für Argumente in Python-Funktionsdefinitionen
Zeichnen Sie in Python ein Diagramm einer quadratischen Funktion
Holen Sie sich den Aufrufer einer Funktion in Python
Vorsichtsmaßnahmen beim Umgang mit Kontrollstrukturen in Python 2.6
Erstellen Sie ein Wörterbuch in Python
Verwenden Sie die Rückruffunktion in Python
ntile (Dezil) -Funktion in Python
Ein Memorandum beim Schreiben von experimentellem Code ~ Anmelden in Python
Vorsichtsmaßnahmen beim Umgang mit ROS MultiArray in Python
Beachten Sie beim Initialisieren einer Liste in Python
Was ist in dieser Variablen (wenn das Python-Skript ausgeführt wird)?
Erstellen Sie ein Lesezeichen in Python
Achtung bei os.mkdir in Python
Nichtlineare Funktionsmodellierung in Python
Zeichne die Yin-Funktion in Python
Verwenden Sie communic (), wenn Sie eine Ausgabe in einem Python-Unterprozess empfangen
Sofortige Funktion (Lüge) in Python
Zeichne ein Herz in Python
Was bedeutet das letzte () in einer Funktion in Python?
Eine Funktion, die iterable in Python in N Teile unterteilt
Ein Hinweis beim Erstellen eines gerichteten Diagramms mit Graphviz in Python
So geben Sie char * in einer Rückruffunktion mit ctypes in Python zurück
[Python] Verwalten Sie Funktionen, indem Sie sie in ein Wörterbuch einfügen (Befehlstabelle, Funktionstabelle, Funktionszeiger).
Ein Memo, dass ich eine Grundfunktion in Python mit Wiederholung geschrieben habe
Vorsichtsmaßnahmen, die beim Aufbau einer PYTHON-Umgebung beachtet werden müssen
Versuchen Sie, eine in Python geschriebene Funktion mit Fn Project auszuführen
[Python] Was ist eine Zip-Funktion?
Wahrscheinlich in einer Nishiki-Schlange (Originaltitel: Vielleicht in Python)
Implementieren Sie die Funktion power.prop.test von R in Python
[Python] Verwalten Sie Funktionen in einer Liste
Definition des Funktionsargumenttyps in Python
Inklusive Notation im Argument der Python-Funktion
Erstellen Sie einen DI-Container mit Python
Verhalten beim Auflisten in Python heapq
Zeichnen Sie eine Streudiagrammmatrix mit Python
Schreiben Sie die AWS Lambda-Funktion in Python
ABC166 in Python A ~ C Problem
Schreiben Sie A * (A-Stern) -Algorithmen in Python
Messen Sie die Ausführungszeit von Funktionen in Python
Erstellen Sie eine Binärdatei in Python
Vorsichtsmaßnahmen bei Verwendung der Funktion urllib.parse.quote
[Python] Machen Sie die Funktion zu einer Lambda-Funktion
Löse ABC036 A ~ C mit Python
Schreiben Sie ein Kreisdiagramm in Python
Schreiben Sie das Vim-Plugin in Python
Schreiben Sie eine Suche mit Tiefenpriorität in Python
Funktionssynthese und Anwendung in Python
Implementierung eines einfachen Algorithmus in Python 2
Löse ABC037 A ~ C mit Python
Führen Sie einen einfachen Algorithmus in Python aus
Zeichnen Sie ein CNN-Diagramm in Python
Beim Erstellen einer Matrix in einer Liste