python - pysftp。根据修改日期获取文件

标签 python python-3.x pysftp

我正在尝试编写一个脚本,以便在修改日期小于 24 小时的情况下从 SFTP 服务器检索文件。 这是我迄今为止的尝试:

cnopts = sftp.CnOpts()
cnopts.hostkeys = None
s = sftp.Connection(host=host, username=username, password=password, port=port, cnopts=cnopts)
s.cwd(r"/Outbox")
for attr in s.listdir_attr("ENTOUT_709_Payers_20170802024203.csv"):
    print(attr)

这是结果...

?rw-rw-rw- 1 0 0 8339 02 Aug 02:42 ENTOUT_709_Payers_20170802024203.csv

如何以 %Y%M%d 的格式检索 "02 Aug 02:42"

最佳答案

我有一个替代品:

def unix2human(unixtime, fmt = "%Y-%m-%d"):
    try:
        return datetime.utcfromtimestamp(int(unixtime)).strftime(fmt)
    except Exception as e:
        log.warning("Failed to convert unixtime string '{}' :: {}".format(unixtime, e))
        return None

所以你的代码将如下所示:

for attr in s.listdir_attr("ENTOUT_709_Payers_20170802024203.csv"):
    print(unix2human(attr.st_mtime))

其中st_mtime是内置的pysftp方法

关于python - pysftp。根据修改日期获取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45471143/

相关文章:

python - 如何让在一个终端运行的程序的输出成为另一个终端的输入?

python - Django 应用程序未在 Elastic Beanstalk AWS 上启动

python - 对 def __init__ 中的 __init__ 方法感到困惑

python - 如何根据某个奇数n对给定行之前和之后的pandas数据帧列进行平均?

Python pysft/paramiko 'EOF during negotiation' 错误

python - 如何使用 ssh-ed25519 作为 pysftp 的 key 设置主机 key 文件

python - Pycharm 不显示方法的自动完成或文档

python - 对于使用 python 的 Codility 类(class) MaxCounters,是否有可能比 O(N+M) 更好?

python - 转换日期格式保持其类型python

Python PYSFTP - 将私钥作为字符串/文本传递而不是传递文件路径