Jak używać FTP w Python?

Jak używać FTP w Python?
Czy kiedykolwiek korzystałeś z dowolnego systemu kontroli wersji lub systemu sieci w chmurze, w którym ty i twoi współpracownicy możesz aktualizować dane i pobierać pliki? Jeśli nie, ten artykuł byłby dla Ciebie bardzo korzystny. Możesz tworzyć programy Python, które wykonują kilka autonomicznych zadań FTP za pomocą pakietu FTPLIB w Python. Aby pobrać pliki i zarządzać nimi offline, użytkownicy mogą natychmiast połączyć się z czymś takim jak serwer FTP. W tym artykule będziemy omawiać programy Python w celu korzystania z serwera FTP i dostępu do jego plików w systemie lokalnym.

Przykład 01:

Zacznijmy od pierwszego przykładu Pythona przy użyciu FTP w swoich programach. W tym celu użyliśmy narzędzia Spyder 3 dla programu Python w systemie Windows 10. Ten skrypt musi najpierw nawiązać połączenie z serwerem FTP. Utworzyliśmy nowy plik o nazwie „Test.py ”w narzędziu Spyder 3 i zapisałem go w odpowiednim folderze Spyder. Rozpoczynamy ten kod z importem biblioteki „ftplib” do użycia FTP w Python.

Następnie próbowaliśmy połączyć się z serwerem FTP za pomocą jego oficjalnego adresu URL i.mi., „FTP.Nluug.NL ”. Ten adres URL został użyty w ramach funkcji „FTP” za pomocą biblioteki „ftplib” Python. Wynik powrotu dla tej funkcji FTP zostałby zapisany do obiektu „FTP” „F”. Korzystając z tego obiektu FTP „F”, używaliśmy funkcji FTP Login (. Zdefiniowaliśmy pustą listę „V”, która będzie przechowywać listę dokumentów i katalogów zamieszkałych w folderze głównym tego serwera FTP. Ta lista „V” wykorzystuje funkcję Pythona „append ()” do wstawienia wszystkich plików i katalogów w formie tablicy przebywającej w samym katalogu roboczym z listy „v” za pomocą funkcji „Dir”.

Następnie obiekt FTP został użyty do zamykania połączenia z serwerem za pomocą funkcji requit () biblioteki FTP. Następnie używamy listy „V” w pętli „dla”, aby odczytać całą linię danych według linii i wydrukować wszystko za pomocą funkcji „wydruku” wraz ze zmienną linii, biorąc każdy dokument lub katalog jako element listy. Nasz kod jest teraz zakończony i zapisaliśmy go do wykonania.

Importuj ftplib
f = ftplib.Ftp ("ftp.Nluug.nl ”)
F.Login („Anonimowy”, „ftplib-Example-1”)
v = []
F.Dir (v.dodać)
F.zrezygnować()
dla linii w V:
Drukuj („-”, linia)

Po uruchomieniu tego kodu w Spyder 3 za pomocą jego przycisku przebiegu mamy listę wszystkich plików, które są dostępne w katalogu głównym serwera FTP na naszej konsoli Spyder. Możesz zobaczyć, że wyświetlał uprawnienia przypisane do każdego katalogu wraz z datą utworzenia i nazwą pliku. Na liście znajduje się kilka lustrzanych plików, a także SymLinks.

Przykład 02:

W naszym pierwszym przykładzie przyjrzeliśmy się, jak wymienić wszystkie pliki i foldery mieszkające w bieżącym folderze głównym serwera FTP. Teraz będziemy wymieniać dokumenty z określonego folderu twojego serwera FTP. W tym celu wykorzystaliśmy dość ten sam kod, jaki użyliśmy w pierwszym przykładzie. Zatem rozpoczynaliśmy ten przykład z importem tej samej biblioteki FTPlib Python, aby połączyć nasz program z serwerem FTP. Podłączamy nasz program z tym samym serwerem FTP za pomocą funkcji FTP i anonimowo zaloguj się z niego za pomocą funkcji Python login ().

Po udanym logowaniu za pomocą obiektu „F” pakietu FTP w Pythonie, zainicjowaliśmy pustą listę „V”, która zostanie wykorzystana dalej. Funkcja „cwd ()” modułu FTP w Pythonie została wykorzystana do zmiany bieżącego katalogu roboczego i przemieszczania się w nowym folderze i.mi., „Pub” naszego serwera FTP. Teraz znajdujemy się w innej lokalizacji serwera FTP i używamy funkcji dodatkowej do wstawienia wszystkich plików folderu „pub” na liście „V” za pomocą funkcji „Dir”.

Funkcja quit () została użyta do wyjścia z serwera FTP. Pętla „dla” jest tutaj, aby wydrukować każdy plik w tym folderze „pub” jako osobny element linii.

Importuj ftplib
f = ftplib.Ftp ("ftp.Nluug.nl ”)
F.Login („Anonimowy”, „ftplib-Example-1”)
v = []
F.CWD ('/pub/')
F.Dir (v.dodać)
F.zrezygnować()
dla linii w V:
Drukuj („-”, linia)

Po wykonaniu tego zaktualizowanego kodu mamy wszystkie pliki i foldery z folderu „Pub” wyświetlonego na ekranie konsoli.

Przykład 03:

Powyższe dwa przykłady dotyczyły listy plików z serwera FTP na konsoli. Teraz przyjrzymy się użyciu funkcji Python getFile () FTP do pobrania plików z serwera FTP do naszego systemu lokalnego.

W tym celu definiowaliśmy funkcję „getfile” z obiektem „f” i nazwą pliku. Obsługa wyjątków TRY-Catch została tutaj użyta do otwarcia odpowiedniego pliku z dowolnego folderu serwera, wykonaj jego kopię za pomocą funkcji „zapisz” i zapisz go w systemie lokalnym za pomocą funkcji „retrbinary”. Jeśli tak się nie stanie, część oprócz tego rzuci wyjątek.

Po tym połączenie z serwerem zostanie ustanowione i przechodzimy do folderu „pub”. Funkcja getFile () została powołana trzykrotnie w celu pobierania różnych plików za każdym razem. W końcu zamknęliśmy połączenie za pomocą funkcji Quit ().

Importuj ftplib
def getfile (f, nazwa pliku):
próbować:
F.retrbinary („retr” + nazwa pliku, otwórz (nazwa pliku, „wb”).pisać)
z wyjątkiem:
Drukuj („błąd”)
f = ftplib.Ftp ("ftp.Nluug.nl ”)
F.Login („Anonimowy”, „ftplib-Example-1”)
F.CWD ('/pub/')
getfile (f, „db”)
GetFile (F, „Crypto”)
Getfile (F, „Favicon.i co')
F.zrezygnować()

Po uruchomieniu tego programu mamy wszystkie trzy pliki w systemie lokalnym, jak pokazano.

Wniosek

Ten artykuł zawiera doskonałe wyjaśnienie celu używania serwera FTP w kodzie Python: Pobierz pliki online w systemie lokalnym. Omówiliśmy, w jaki sposób pliki z serwera FTP mogą być wymienione w konsoli i jak możemy je łatwo pobrać za pomocą funkcji FTP.