小编典典

如果您的FTP服务器支持MLSD命令,则解决方案很简单:

如果您要根据修改时间戳记做出决定:

entries = list(ftp.mlsd())

Only interested in directories

entries = [entry for entry in entries if entry[1][“type”] == “dir”]

Sort by timestamp

entries.sort(key = lambda entry: entry[1][‘modify’], reverse = True)

Pick the first one

latest_name = entries[0][0]

print(latest_name)

如果要使用文件名:

# Sort by filename

entries.sort(key = lambda entry: entry[0], reverse = True)

如果您需要使用过时的LIST命令,则必须解析它返回的专有列表。

常见的* nix列表如下:

drw-r--r-- 1 user group 4096 Mar 26 2018 folder1-20180326

drw-r--r-- 1 user group 4096 Jun 18 11:21 folder2-20180618

-rw-r--r-- 1 user group 4467 Mar 27 2018 file-20180327.zip

-rw-r--r-- 1 user group 124529 Jun 18 15:31 file-20180618.zip

使用这样的清单,此代码将执行以下操作:

如果您要根据修改时间戳记做出决定:

lines = []

ftp.dir(“”, lines.append)

latest_time = None

latest_name = None

for line in lines:

tokens = line.split(maxsplit = 9)

# Only interested in directories

if tokens[0][0] == “d”:

time_str = tokens[5] + ” ” + tokens[6] + ” ” + tokens[7]

time = parser.parse(time_str)

if (latest_time is None) or (time > latest_time):

latest_name = tokens[8]

latest_time = time

print(latest_name)

如果要使用文件名:

lines = []

ftp.dir(“”, lines.append)

latest_name = None

for line in lines:

tokens = line.split(maxsplit = 9)

# Only interested in directories

if tokens[0][0] == “d”:

name = tokens[8]

if (latest_name is None) or (name > latest_name):

latest_name = name

print(latest_name)

某些FTP服务器可能返回.并..输入LIST结果。您可能需要过滤它们。

如果该文件夹不包含任何文件,仅包含子文件夹,则还有其他更简单的选项。

如果要基于修改时间戳记来决定,并且服务器支持非标准-t切换,则可以使用:lines = ftp.nlst("-t")

latest_name = lines[-1]

如果要使用文件名:lines = ftp.nlst()

latest_name = max(lines)

2021-01-20

python获取ftp所有文件名_在Python中获取最新的FTP文件夹名称相关推荐

  1. mysql获取今天的最后一秒_在MySQL中获取日期的最后一秒?

    要在MySQL中获取日期的最后一秒,请使用INTERVAL命令.让我们首先创建一个表-mysql> create table DemoTable -> ( -> JoiningDat ...

  2. kali创建文件_在kali中使用ecryptfs创建加密文件夹-bin文件夹

    在linux中有一个加密工具叫ecryptfs,我们可以在kali中安装它,创建一个用于加密的文件夹,用eCryptFS加密的伪文件系统挂载到你现有的文件系统上,把我们需要加密的文件放入这个文件夹就可 ...

  3. 安卓获取浏览器上网记录_在android中获取浏览器历史记录和搜索结果

    我试图从Android浏览器获取历史记录和搜索结果. 在下面的代码中,我得到了所有书签,它们很有用: public void getBrowser(){ String[] requestedColum ...

  4. python pandas合并单元格_利用Python pandas对Excel进行合并的方法示例

    前言 在网上找了很多Python处理Excel的方法和代码,都不是很尽人意,所以自己综合网上各位大佬的方法,自己进行了优化,具体的代码如下. 博主也是新手一枚,代码肯定有很多需要优化的地方,欢迎各位大 ...

  5. python 找质数的个数_用Python打造一款文件搜索工具,所有功能自己定义!

    一.前言 大家好,又到了Python办公自动化系列. 在日常的办公中,我们经常会从一堆不同格式的文件(夹)中搜索特定的文件,可能你是凭着记忆去找或是借助软件,但你有想过如何用Python实现吗?本文将 ...

  6. python判断题题库_《Python程序设计》判断题1-240题

    1.Python是一种跨平台.开源.免费的高级动态编程语言.(对) 2.Python 3.x完全兼容Python 2.x.(错) 3.Python 3.x和Python 2.x唯一的区别就是:prin ...

  7. python转换成c语言_把python转成c

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 推荐使用腾讯云 api 配套的7种常见的编程语言 sdk,已经封装了签名和请求过 ...

  8. python批量安装第三方库_使用Python批量安装第三方库

    Python的很多功能通过第三方库实现,99%的第三方库可以通过Python自带的pip方法进行自动下载和安装.然而Python有几十万个第三方库,最常用的也有几十个.想要一次性地安装几十个常用的第三 ...

  9. python第三方库批量安装_使用Python批量安装第三方库

    Python的很多功能通过第三方库实现,99%的第三方库可以通过Python自带的pip方法进行自动下载和安装.然而Python有几十万个第三方库,最常用的也有几十个.想要一次性地安装几十个常用的第三 ...

最新文章

  1. Linux——cmake使用示例与整理总结
  2. 如何查找完全二叉树最后一层的最右边的结点
  3. 如何将SQL Server 2017主数据服务模型迁移到另一台服务器
  4. 利用DELPHI开发完成例程(1)
  5. ttysac1 java_ttySAC0与/dev/tts/0是否对应同一个物理设备串口0
  6. gdb调试 加载源码
  7. 三菱FX Q FX5U PLC 程序加密,使用ST结构化文
  8. 临床基因组分析相关数据库汇总
  9. 如何开发Android安卓APP读写NFC Ntag
  10. 美哭了,一款面向程序员的开源 Markdown 笔记工具!
  11. java 二叉树运用场景_java二叉树有什么作用?有哪些实际应用?
  12. 联想开机启动项按哪个_联想笔记本进bios按什么键
  13. NBA球队实力聚类分析
  14. java做手机短信验证码平台_java实现短信验证码功能
  15. javascript有声调的汉字注音字典(兼容各浏览器)
  16. linux内核编译命令 理解,谢烟客---------Linux之理解内核、内核模块、编译内核
  17. 棋牌游戏开发新转机 出海最佳国家有哪些
  18. webrtc 的回声抵消(aec、aecm)算法简介
  19. 触动精灵获取某东代付的链接
  20. 前端开发规范:JavaScript 规范

热门文章

  1. 在Android Studio中搜索整个项目中所有出现的字符串
  2. Git使用教程-命令总结大全
  3. 源码|并发一枝花之CopyOnWriteArrayList
  4. 带有支付功能的产品如何进行测试
  5. linux 驱动开发 --- 字符设备与混杂设备区别
  6. Nginx系列~负载均衡服务器与WWW服务器的实现
  7. Hyperic 脚本服务(Script service)配置
  8. scala入门之识别函数式风格
  9. Linux 配置多个Tomcat
  10. centos ipsec tunnel 配置