ftplib implementa funciones de carga y descarga FTP

El número de puerto predeterminado del servidor FTP es 21.

La dirección de referencia de este artículo: https://docs.python.org/3.6/library/ftplib.html

1. ftplib contiene FTP yFTP_TLS两个class,后者是封装了TLS安全传输协议的FTP,本文不多描述,查看官网即可,很简单。

2. La clase ftplib.FTP es una clase que simula el cliente de protocolo FTP. Puede usar esta clase para realizar diversas interacciones con el servidor FTP, como la carga y descarga de datos.

3. La transmisión de datos FTP tiene dos modos ASCII y formato binario, en general, el uso del formato binario es más común, más escenarios aplicables. Por lo tanto, los cuatro métodos más utilizados de la clase FTP son en realidad:

  • FTP.storbinary( cmd , fp , blocksize = 8192 , callback = None , rest = None )    
  • FTP.storlines( cmd , fp , devolución de llamada = Ninguno )  
  • FTP.retrbinary( cmd , devolución de llamada , tamaño de bloque = 8192 , resto = Ninguno )   
  • FTP.retrlines( cmd , devolución de llamada = Ninguno ) 

Entre ellos, storbinary y retrbinary son métodos para la transmisión de datos binarios.

FTP数据下载:

一般来说,生产上会将ftp用户的访问权限限定在自己的家目录下(可通过修改/etc/vsftpd.conf来改变此行为模式)。

# La clase FTP admite la instrucción with, por ejemplo:
desde ftplib import FTP
con FTP ('<ftp server IP>', 'user', 'passwd') como c, \
	open ('<nombre de archivo local / fullpath_filename>', 'wb') como f:
	c.retrbinary ('RETR <nombre de archivo del servidor ftps remoto>', f.write)
# Use directamente los parámetros host, usuario y passwd para inicializar FTP, que es equivalente a realizar FTP.connect (). Login (), que generalmente no es tan problemático de escribir por simplicidad
# f.closed es True, el archivo se cierra automáticamente

La clase FTP admite la sintaxis del contexto de Python. Esta sintaxis generalmente se recomienda en Python y puede ayudarlo a manejar automáticamente el contexto de los objetos relacionados, es decir, puede ayudarlo a cerrar automáticamente los objetos relacionados y evitar que se olvide de salir o cerrar.

Los dos parámetros principales del método al comienzo de retr son cmd y callback. El primero es el comando para obtener el archivo, el formato es "RETR filename", y el segundo es callback es la función callback, generalmente openfile.write, lo que significa que el flujo de datos relevante se escribe en un Archivo, la forma en que se abre el archivo depende del método retr utilizado, por ejemplo, retrbinary () puede usar 'wb' para abrir el archivo.

Carga de datos FTP:

Las funciones de carga de datos correspondientes son las dos funciones que comienzan con stor: storbinary y storlines. Todavía se recomienda utilizar el primero. Binary siempre es más confiable.

desde ftplib import FTP
con FTP ('<ftp server IP>', 'user', 'passwd') como c, \
	abierto ('<nombre de archivo del servidor ftps remoto>', 'wb') como f:
	c.storbinary ('STOR <nombre de archivo local / fullpath_filename>', f)

Del mismo modo, el formato CMD del archivo cargado es "STOR file name".

Cabe señalar que la función retr utiliza la función de devolución de llamada para escribir el archivo que se descargará en el archivo abierto local, y la función stor abre un archivo en el lado del servidor y luego escribe los datos que se cargarán.

Otros:

Para obtener el código de retorno común del servidor FTP, consulte: https://kb.globalscape.com/Knowledgebase/10142/FTP-Status-and-Error-Codes

Supongo que te gusta

Origin www.cnblogs.com/leohahah/p/12704292.html
Recomendado
Clasificación