FTP类

时间:2017-12-07 13:13:59

标签: python ftp

我有以下代码段。

from ftplib import FTP
ftp_connect = FTP(link)
ftp_connect.login()
listing = [elem for elem in ftp_connect.mlsd(exact_source_data_path) if elem[0].endswith('.gz')]

我正在使用此代码段连接到ftp服务器并获取文件列表及其事实。剪辑将返回如下内容:

[('file_1.gz',   {
    'modify': '20171205190142',
    'perm': 'adfr',
    'size': '1556',
    'type': 'file',
    'unique': '41U2B7801',
    'unix.group': '528',
    'unix.mode': '0444',
    'unix.owner': '14'   }),   ('file_2.gz',   {
    'modify': '20171206190136',
    'perm': 'adfr',
    'size': '902254',
    'type': 'file',
    'unique': '41U2B7804',
    'unix.group': '528',
    'unix.mode': '0444',
    'unix.owner': '14'   })]

我想知道这个尺寸的单位是多少?像size = 1556这是以字节为单位的吗?用KB?文档说:

  

返回一个生成器对象,为每个生成一个包含两个元素的元组   在路径中找到的文件。第一个元素是文件名,第二个元素是   包含文件名事实的字典。

1 个答案:

答案 0 :(得分:2)

ftplib.FTP.mlsd使用MLSD命令(RFC 3659)。它的响应包含" octets" (见Wikipedia),所以你更有可能" Bytes"那么" KB"

请参阅https://tools.ietf.org/html/rfc3659.html#section-7.5