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!