Python – Variablen an importierte Module übergeben

Wie ihr eure Funktionen in Modulen aufteilen und dennoch die Variablen behalten könnt.

    Inhaltsangabe
  1. Übergeben von Variablen
    1. Hauptscript
    2. check.py
  2. Zusammenfassung

Ich hatte vor kurzem das Problem, dass ich mein FTP Objekt nicht in ein Modul übergeben konnte, den ich selber geschrieben hatte.

Das Problem dabei war, dass ich jedes Mal eine neue Verbindung zum FTP Server herstellen musste und dadurch sehr viel Zeit verloren habe.

Übergeben von Variablen

Sagen wir mal wir haben zwei Python Script Dateien. Den einen nenne ich einfach mal Hauptscript und den zweiten check.py

Die check.py befindet sich in einem Unterordner namens lib und wird von dort aus in mein Hauptscript importiert.

Wenn wir das machen, werden die Variablen vom Hauptscript nicht automatisch in check.py vorhanden sein. Diese kann man jedoch einfach übergeben, indem man folgendes ausführt…

Hauptscript

...
...
from lib import check
check.ftp_obj = ftp_obj
myCoolFuntion('some_file.css')
...
...

check.py

def myCoolFuntion(file):
  ftp_datetime = ftp_obj.voidcmd("MDTM " + file)[4:].strip()
  ftp_timestamp = time.mktime(time.strptime(ftp_datetime, '%Y%m%d%H%M%S'))
  print(int(ftp_timestamp))

Zusammenfassung

Mit dieser Methode kann man so viele Variablen wie man möchte an einen anderen Script weiter geben. Ich habe das mit meinem ftp Objekt benutzt und auch dabei hat es funktioniert. Viel Spaß damit!

Themen

Erfahrung Programmieren Python Technik Tipps

Beitrag teilen

WhatsAppen

Folgen Sie uns