czwartek, 11 października 2012

pyftpdlib

Jeśli chciałeś kiedyś przesłać szybko kilka plików na inny komputer w sieci lokalnej ale napotkałeś następujące problemy: komunikatory nie są ze sobą kompatybilne pod względem przesyłania plików, plik jest przesyłany "na zewnątrz" a nie w lanie, znalezione rozwiązanie trzeba najpierw zainstalować.. skonfigurować... - z pomocą przychodzi biblioteka pyftpdlib!

Biblioteka pyftpdlib dostarcza wysokopoziomowy interfejs do tworzenia serwerów ftp. Nie przeszkadza to do użycia jako szybkie rozwiązanie do przesyłania plików.

Instalacja

W zależności od manadżera pakietów w twoim systemie :) Lub też po python'owemu:

pip install pyftpdlib

Użycie

Wersja z kodem:

from pyftpdlib import ftpserver
authorizer = ftpserver.DummyAuthorizer()
authorizer.add_anonymous("/home/ftp", perm="elradfmw")
handler = ftpserver.FTPHandler
handler.authorizer = authorizer
address = ("10.0.0.123", 21)
ftpd = ftpserver.FTPServer(address, handler)
ftpd.serve_forever()

wersja bardziej poręczna:

python -m pyftpdlib.ftpserver -w -p 2121 ./

W obu przypadkach dostępne są konta anonymous z możliwością odczytu/zapisu.