python - 从python中的打印输出创建字典
问题描述
我有一个 for 循环,在其中我打印循环中的每个迭代并给出格式为 ls-lrt 的输出。我想从中创建一个字典,其中键作为文件名,值作为时间戳。
for attr in sftp.listdir_attr('/abc'):
... print attr
...
-rwxr-xr-x 1 7202711 7201853 5759 01 Mar 12:49 .nfs0000000615c569f500000004
-rw-r--r-- 1 7202711 7201853 62394 26 Sep 2017 1.java
-rwxr-xr-x 1 7202711 7201853 5009 20 Aug 2017 a.sh
-rwxr-xr-x 1 7202711 7201853 2201 15 Oct 2017 adt.sh
drwxr-xr-x 1 7202711 7201853 282 09 Jun 2017 backup
-rwxr-xr-x 1 7202711 7201853 1384 27 Jul 2017 ob.sh
如果我做一个
type(attr)
它给了我
<class 'paramiko.sftp_attr.SFTPAttributes'>
所以dict应该是这样的(日期时间格式需要标准化)
{'.nfs0000000615c569f500000004':'01 Mar 12:49',
'1.java':'26 Sep 2017',..............etc}
解决方案
SFTPClient.listdir_attr
实际上返回一个SFTPAttrributes
对象列表。您可能可以访问上次修改的文件名和时间戳,attr.filename
以及attr.st_mtime
(您可能需要将其从时间戳转换为人类可读的日期)。不幸的是,这些对象似乎是基于 的结果创建的os.stat
,它们并不总是在操作系统之间返回相同的东西。您应该对计划使用此软件的所有系统类型进行试验。
推荐阅读
- java - 与@CircuitBreaker 一起使用时,不会调用@Recover(回退方法),一旦所有重试都用尽了
- javascript - 动画光标跟随已动画元素
- reactjs - 如何使用 react-query 获取 n 个依赖数据
- angular - 显示角度模态对话框时不必要的多个方法调用
- c# - 无法将自定义设置文件添加到 Asp.Net Core 3.1 WebApi
- python - 根据熊猫中的条件创建一个布尔列
- github - 项目通知开/关
- python-3.x - Django 对象权限“django-guardian”chnage 管理对象权限 UI
- java - 阶乘静态法
- javascript - 如何将上传的图像转换为字节数组javascript