Seite 1 von 1
Python & Total Commander(FTP)?
Verfasst: Freitag 23. November 2018, 13:15
von yokay
Hallo liebes Forum,
ich wollte mal fragen, ob es eine Möglichkeit gibt, mit Python(3.6) einen Zugang zum FTP Server (Total Commander) zu erstellen und immer die aktuellsten .txt Dateien zu downloaden?
Wie könnte man dies umsetzen und/oder hat jemand eine Quelle zum fertigen Script?
Ich bedanke mich im Voraus !
LG!
Re: Python & Total Commander(FTP)?
Verfasst: Freitag 23. November 2018, 13:18
von __deets__
Es gibt eine eingebaute ftplib. Deren Dokumentation kannst du anschauen & auf stackoverflow nach Beispielen suchen.
Re: Python & Total Commander(FTP)?
Verfasst: Montag 26. November 2018, 07:28
von yokay
danke @__deets__ !!!
Re: Python & Total Commander(FTP)?
Verfasst: Montag 26. November 2018, 13:22
von yokay
Hier einmal die Lösung:
from ftplib import FTP
from datetime import datetime
start = datetime.now()
ftp = FTP('host')
ftp.login('user','pw')
# Get All Files
files = ftp.nlst()
# Print out the files
for file in files:
print("Downloading..." + file)
ftp.retrbinary("RETR " + file ,open("SpeicherPath" + file, 'wb').write)
ftp.close()
end = datetime.now()
diff = end - start
print('All files downloaded for ' + str(diff.seconds) + 's')
Allerdings hab ich ein neues Problem:
Es gibt ne Firewall dazwischen und ich weiß nicht wie man dies über python anspricht

(Über Total Commander komme ich ohne Probleme mit den Passwörtern durch die Firewall). Hab auch schon bisschen geschaut aber nichts wirklich hilfreiches (in meinen Augen) gefunden.
Habt iht eventuell noch ne idee wie man dieses Problem angehen könnte?
LG!
Re: Python & Total Commander(FTP)?
Verfasst: Montag 26. November 2018, 14:25
von __blackjack__
@yokay: Dann wird TotalCommander in der Firewall freigeschaltet sein. Das musst Du für Dein Python-Programm auch machen. Wenn Programme das selber machen könnten, dann wären Firewalls nicht mehr so wirklich sinnvoll.

Re: Python & Total Commander(FTP)?
Verfasst: Dienstag 27. November 2018, 07:46
von yokay
@__blackjack__ Das es durch Total Commander funktioniert hat was mit den extra Zugangsdaten zu tun, also es gibt nur einen User der das trotz Firewall nutzen darf. Diesen User versuche ich irgendwie in python einzubringen.

Re: Python & Total Commander(FTP)?
Verfasst: Dienstag 27. November 2018, 10:20
von nezzcarth
FTP ist im Zusammenhang mit Firewalls recht nervig, da neben Port 21 zusätzliche Ports für den eigentlichen Transfer benötigt werden, die jeweils von Firewalls blockiert werden können. ftplib verwendet standard-mäßig den passive Mode, bei dem der Server für das Öffnen zusätzlicher Ports verantwortlich ist, die auch in der Firewall berücksichtigt sein müssen. Wenn du Einfluss auf die Firewall hast, kannst du i.d.R. im FTP-Server einen entsprechenden Port-Bereich konfigurieren, den du in der Firewall freigeben kannst. Ansonsten würde ich mal schauen, ob es klappt, wenn du den active mode verwendest bzw. den passive-mode deaktivierst (hier kann dann wiederum eine Client-seitige Firewall dazwischen funken):
https://docs.python.org/3/library/ftpli ... P.set_pasv
Falls du etwas anders als FTP verwenden kannst, wäre das sehr zu empfehlen.
Re: Python & Total Commander(FTP)?
Verfasst: Dienstag 27. November 2018, 13:58
von yokay
danke @nezzcarth für deine Antwort und Hilfe!

. Eine andere Möglichkeit habe ich leider nicht. Mal gucken, ob ich es doch noch irgendwie schaffe.
LG!