Hướng dẫn how do i download a file using ftp in python? - làm cách nào để tải xuống tệp bằng ftp trong python?

78

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Tôi có mã sau dễ dàng kết nối với máy chủ FTP và mở tệp zip. Tôi muốn tải tập tin đó vào hệ thống cục bộ. Làm thế nào để làm điều đó?

# Open the file for writing in binary mode
print 'Opening local file ' + filename
file = open(filename, 'wb')

# Download the file a chunk at a time
# Each chunk is sent to handleDownload
# We append the chunk to the file and then print a '.' for progress
# RETR is an FTP command

print 'Getting ' + filename
ftp.retrbinary('RETR ' + filename, handleDownload)

# Clean up time
print 'Closing file ' + filename
file.close()

Hướng dẫn how do i download a file using ftp in python? - làm cách nào để tải xuống tệp bằng ftp trong python?

Đã hỏi ngày 20 tháng 7 năm 2012 lúc 6:15Jul 20, 2012 at 6:15

Intekhab Khanintekhab KhanIntekhab Khan

1.7354 huy hiệu vàng18 Huy hiệu bạc27 Huy hiệu đồng4 gold badges18 silver badges27 bronze badges

3

handle = open(path.rstrip("/") + "/" + filename.lstrip("/"), 'wb')
ftp.retrbinary('RETR %s' % filename, handle.write)

Kloddant

1.00110 Huy hiệu bạc19 Huy hiệu đồng10 silver badges19 bronze badges

Đã trả lời ngày 20 tháng 7 năm 2012 lúc 6:28Jul 20, 2012 at 6:28

2

A = filename

ftp = ftplib.FTP("IP")
ftp.login("USR Name", "Pass")
ftp.cwd("/Dir")


try:
    ftp.retrbinary("RETR " + filename ,open(A, 'wb').write)
except:
    print "Error"

Hướng dẫn how do i download a file using ftp in python? - làm cách nào để tải xuống tệp bằng ftp trong python?

Mathias711

6.5124 Huy hiệu vàng40 Huy hiệu bạc57 Huy hiệu đồng4 gold badges40 silver badges57 bronze badges

Đã trả lời ngày 20 tháng 7 năm 2012 lúc 6:33Jul 20, 2012 at 6:33

Hướng dẫn how do i download a file using ftp in python? - làm cách nào để tải xuống tệp bằng ftp trong python?

RakeshrakeshRakesh

79,6K17 Huy hiệu vàng71 Huy hiệu bạc109 Huy hiệu đồng17 gold badges71 silver badges109 bronze badges

3

FILENAME = 'StarWars.avi'    

with ftplib.FTP(FTP_IP, FTP_LOGIN, FTP_PASSWD) as ftp:
    ftp.cwd('movies')
    with open(FILENAME, 'wb') as f:
        ftp.retrbinary('RETR ' + FILENAME, f.write)

Tất nhiên chúng ta sẽ khôn ngoan để xử lý các lỗi có thể xảy ra.

Đã trả lời ngày 27 tháng 9 năm 2016 lúc 7:57Sep 27, 2016 at 7:57

RDBRDBRdB

1.3151 Huy hiệu vàng18 Huy hiệu bạc27 Huy hiệu đồng1 gold badge18 silver badges27 bronze badges

1

Xin lưu ý nếu bạn đang tải xuống từ FTP xuống địa phương, bạn sẽ cần sử dụng những điều sau:

with open( filename, 'wb' ) as file :
        ftp.retrbinary('RETR %s' % filename, file.write)

Nếu không, tập lệnh sẽ tại lưu trữ tệp cục bộ của bạn thay vì FTP.

Tôi đã dành một vài giờ để tự mình mắc lỗi.

Kịch bản bên dưới:

import ftplib

# Open the FTP connection
ftp = ftplib.FTP()
ftp.cwd('/where/files-are/located')


filenames = ftp.nlst()

for filename in filenames:

    with open( filename, 'wb' ) as file :
        ftp.retrbinary('RETR %s' % filename, file.write)

        file.close()

ftp.quit()

Đã trả lời ngày 2 tháng 1 năm 2019 lúc 12:29Jan 2, 2019 at 12:29

JDAVIESJDAVIESJDavies

2.6507 Huy hiệu vàng32 Huy hiệu bạc53 Huy hiệu Đồng7 gold badges32 silver badges53 bronze badges

1

Mô -đun ftplib trong thư viện tiêu chuẩn Python có thể được so sánh với trình biên dịch. Sử dụng một thư viện cấp cao như: https://pypi.python.org/pypi/ftputil

Đã trả lời ngày 20 tháng 1 năm 2015 lúc 11:51Jan 20, 2015 at 11:51

Hướng dẫn how do i download a file using ftp in python? - làm cách nào để tải xuống tệp bằng ftp trong python?

Guettliguettliguettli

23.9K66 Huy hiệu vàng308 Huy hiệu bạc590 Huy hiệu Đồng66 gold badges308 silver badges590 bronze badges

2

Đây là một mã Python đang hoạt động tốt cho tôi. Nhận xét bằng tiếng Tây Ban Nha nhưng ứng dụng rất dễ hiểu

# coding=utf-8

from ftplib import FTP                                                                      # Importamos la libreria ftplib desde FTP

import sys

def imprimirMensaje():                                                                      # Definimos la funcion para Imprimir el mensaje de bienvenida
    print "------------------------------------------------------"
    print "--               COMMAND LINE EXAMPLE               --"
    print "------------------------------------------------------"
    print ""
    print ">>>             Cliente FTP  en Python                "
    print ""
    print ">>> python .py       "
    print "------------------------------------------------------"

def f(s):                                                                                   # Funcion para imprimir por pantalla los datos 
    print s

def download(j):                                                                            # Funcion para descargarnos el fichero que indiquemos según numero    
    print "Descargando=>",files[j]      
    fhandle = open(files[j], 'wb')
    ftp.retrbinary('RETR ' + files[j], fhandle.write)                                       # Imprimimos por pantalla lo que estamos descargando        #fhandle.close()
    fhandle.close()                                                     

ip          = sys.argv[1]                                                                   # Recogemos la IP       desde la linea de comandos sys.argv[1] 
puerto      = sys.argv[2]                                                                   # Recogemos el PUERTO   desde la linea de comandos sys.argv[2]
usuario     = sys.argv[3]                                                                   # Recogemos el USUARIO  desde la linea de comandos sys.argv[3]
password    = sys.argv[4]                                                                   # Recogemos el PASSWORD desde la linea de comandos sys.argv[4]


ftp = FTP(ip)                                                                               # Creamos un objeto realizando una instancia de FTP pasandole la IP
ftp.login(usuario,password)                                                                 # Asignamos al objeto ftp el usuario y la contraseña

files = ftp.nlst()                                                                          # Ponemos en una lista los directorios obtenidos del FTP

for i,v in enumerate(files,1):                                                              # Imprimimos por pantalla el listado de directorios enumerados
    print i,"->",v

print ""
i = int(raw_input("Pon un Nº para descargar el archivo or pulsa 0 para descargarlos\n"))    # Introducimos algun numero para descargar el fichero que queramos. Lo convertimos en integer

if i==0:                                                                                    # Si elegimos el valor 0 nos decargamos todos los ficheros del directorio                                                                               
    for j in range(len(files)):                                                             # Hacemos un for para la lista files y
        download(j)                                                                         # llamamos a la funcion download para descargar los ficheros
if i>0 and i<=len(files):                                                                   # Si elegimos unicamente un numero para descargarnos el elemento nos lo descargamos. Comprobamos que sea mayor de 0 y menor que la longitud de files 
    download(i-1)                                                                           # Nos descargamos i-1 por el tema que que los arrays empiezan por 0 

Đã trả lời ngày 9 tháng 8 năm 2015 lúc 22:29Aug 9, 2015 at 22:29

Hướng dẫn how do i download a file using ftp in python? - làm cách nào để tải xuống tệp bằng ftp trong python?

IkerikerIker

2.0182 Huy hiệu vàng28 Huy hiệu bạc51 Huy hiệu đồng2 gold badges28 silver badges51 bronze badges

1

Nếu bạn không giới hạn trong việc sử dụng ftplib, bạn cũng có thể thử mô -đun

handle = open(path.rstrip("/") + "/" + filename.lstrip("/"), 'wb')
ftp.retrbinary('RETR %s' % filename, handle.write)
0. Đây là đoạn trích

import wget
file_loc = 'http://www.website.com/foo.zip'
wget.download(file_loc)

Đã trả lời ngày 19 tháng 10 năm 2020 lúc 7:14Oct 19, 2020 at 7:14

Hướng dẫn how do i download a file using ftp in python? - làm cách nào để tải xuống tệp bằng ftp trong python?

Làm cách nào để tải xuống một tệp bằng FTP?

Tải lên và tải xuống một tệp lên/từ máy chủ FTP..
Điều hướng đến thư mục từ xa nơi tệp bạn muốn tải xuống,.
Điều hướng đến thư mục cục bộ nơi bạn muốn lưu trữ tệp đã tải xuống,.
Chọn tệp bạn muốn tải xuống từ thư mục từ xa và ..
Nhấp vào nút tải xuống ..

Làm cách nào để tải xuống một tệp bằng Python?

Để tải xuống một tệp từ URL bằng Python, hãy làm theo ba bước sau:..
Cài đặt mô -đun yêu cầu và nhập nó vào dự án của bạn ..
Sử dụng yêu cầu. Nhận () để tải xuống dữ liệu đằng sau url đó ..
Viết tệp vào tệp trong hệ thống của bạn bằng cách gọi Open () ..

Làm cách nào để tự động tải xuống các tệp từ FTP?

Auto FTP Manager có thể tự động tải xuống các tệp từ máy chủ FTP của bạn trong một khoảng thời gian được chỉ định. Điều này được thực hiện với sự trợ giúp của bộ lập lịch tích hợp trong Trình quản lý Auto FTP. Để thêm lịch trình chuyển tệp, bạn phải tạo một hồ sơ chuyển tự động. Chuyển đến Tệp >> Hồ sơ kết nối mới.. This is done with the help of the built in Scheduler in Auto FTP Manager. To add a schedule for file transfer, you have to create an automated transfer profile. Go to File >> New Connection Profile.

Làm thế nào để bạn sử dụng FTP trong Python?

Sau đó in chúng ra ...
Nhập ftplib ftp = ftplib.Ftp ("ftp.nluug.nl") ftp.đăng nhập ("ẩn danh", "ftplib-example-1") data = [] ftp.....
Nhập ftplib ftp = ftplib.Ftp ("ftp.nluug.nl") ftp.....
Nhập ftplib nhập sys def getfile (ftp, fileName): thử: ftp.retrbinary ("ret" + filename, open (tên tệp, 'wb') ..

Làm cách nào để tải xuống tất cả các tệp từ một thư mục FTP?

Để tải xuống nhiều tệp hoặc thư mục, bấm/Tap+kéo hoặc Ctrl/CMD+Nhấp vào các tệp/thư mục, sau đó nhấp vào biểu tượng trong thanh công cụ Footer.Các tệp/thư mục sẽ được nén trên máy chủ và trình duyệt của bạn sẽ nhắc bạn mở hoặc lưu tệp vào thiết bị của bạn.click/tap+drag or CTRL/CMD+click the files/folders, then click the icon in the footer toolbar. The files/folders will be zipped on the server and your browser will prompt you to open or save the file to your device.

Làm cách nào để tải xuống từ SFTP Server từ Python?

Ở đây, trước tiên chúng tôi di chuyển sang thư mục được nhắm mục tiêu bằng phương thức Conn.cd (). Sau đó, chúng tôi chỉ chuyển tên tệp cho phương thức Conn.get ().Điều này dẫn đến việc tải xuống tệp đó vào thư mục cục bộ của máy cục bộ phía máy khách của chúng tôi.first move to the targeted directory using the conn.cd() method. Then, we just pass the file name to the conn. get() method. This leads to the downloading of that file into the local directory of our client-side local machine.