gpt4 book ai didi

python-3.x - pysftp- 如何获取 sftp 服务器上传时间戳?

转载 作者:行者123 更新时间:2023-12-04 14:00:01 26 4
gpt4 key购买 nike

我一直在尝试获取文件上传到我的 SFTP 服务器的时间,有时这些文件很大并且每天都会被覆盖,我尝试了 ctime、atime 和 mtime 但它仍然显示文件修改时间而不是上传完成的时候。

例如,用例是获取它在服务器中实际可用的时间。当使用 pysftp 获取 ctime、mtime、atime 时,它​​显示 4:30 AM,这是最后修改的时间,而不是上传时间的 5:15 AM。

无需每 5 分钟左右监控一次服务器,有没有办法获得此属性(上次上传时间)?

我一直在使用此代码,但是 mtime (4:30AM) 显示文件上次修改日期而不是服务器上传日期。有什么想法吗?

import pysftp
import os

cnopts = pysftp.CnOpts()
cnopts.hostkeys = None

host = 'somehost'
port = 22
user = 'someuser'
password ='samplepass'

with pysftp.Connection(
host=host,
port=port,
username=user,
password=password,
cnopts=cnopts
) as sftp:
sftp_client = sftp
path = 'root_folder'
file_list_attr = sftp.listdir_attr(remotepath=path)
file_stat = sftp.stat(os.path.join(path, 'file.txt'))

最佳答案

st_mtime 以秒为单位输出时间

from datetime import datetime #For converting from seconds to M/D/Y

attrs=sftp.listdir_attr() #Attributes of all files/directories in the folder
sftpfile=attrs[0] #Just one file for example purposes...

#Convert the time from seconds to MM/DD/YYYY
datetime.fromtimestamp(sftpfile.st_mtime).strftime("%m/%d/%Y")

关于python-3.x - pysftp- 如何获取 sftp 服务器上传时间戳?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50765550/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com