问题内容
你知道是否真的有办法从 sftp 服务器获取“ctime”(文件创建的时间戳)吗?使用 paramiko 进行 sftp,我只看到“atime”和“mtime”。但是,我正在尝试访问文件的原始创建时间戳(而不是“atime”)。
这是我构建的当前代码,但注释掉了有关文件创建时间戳的部分,因为它会导致错误:
for file in tqdm(sftp.listdir()):
# Debug check:
print('We are now in the try loop:')
# Look for files that have the same starting 25 characters as the column
# in the mapper file:
mask = mapper.file_name_startswith.str[:25].str.contains(file[:25])
# Grab the destination path info from the mapper file:
dest_path = mapper[mask]['destination_path'].values[0]
# Get the timestamp of the original file before we remove it, for both modified & created:
remote_mod_time = sftp.stat(file).st_mtime
# Need to use a different method to get the created date:
'''
remote_file_attrs = sftp.listdir_attr('.')
for attr in remote_file_attrs:
if attr.filename == file:
remote_create_time = attr.st_ctime
break
'''
# Move the current file to our desired local (destination) path:
local_path = os.path.join(dest_path, file)
sftp.get(file, local_path)
# Set the modified date timestamp of the downloaded file to match the timestamp of the original file:
os.utime(local_path, (remote_mod_time, remote_mod_time))
# Set the created date (cannot use os.utime for this) to match the timestamp of the original file:
#date_time = pywintypes.Time(remote_create_time)
#win32file.SetFileTime(local_path, date_time, None, None)
# Remove the current file, which is being processed, from the sftp server:
#sftp.remove(file)
# Append the file to the "done_file" list:
done_files.append(file)
正确答案
仅从 SFTP 版本 4 开始支持文件创建时间。大多数 SFTP 服务器(尤其是 OpenSSH)仅支持 SFTP 版本 3。 Paramiko 也是如此(在客户端)。
因此在大多数情况下(即使您修补 Paramiko 以支持 SFTP 4),您将无法从 SFTP 服务器检索创建时间。
如果您具有服务器的 shell 访问权限,您也许能够使用 shell 命令检索创建时间。但这不再是 SFTP 问题。
以上就是使用 Paramiko SFTP 获取文件的创建时间戳的详细内容,更多请关注编程网其它相关文章!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
软考中级精品资料免费领
- 历年真题答案解析
- 备考技巧名师总结
- 高频考点精准押题
- 资料下载
- 历年真题
193.9 KB下载数265
191.63 KB下载数245
143.91 KB下载数1148
183.71 KB下载数642
644.84 KB下载数2756
相关文章
发现更多好内容- Java OGNL 表达式的解析原理究竟是什么?(java ognl表达式的解析原理是什么 )
- Java泛型中的 extends 操作符对性能有哪些影响?(Java泛型extends的性能影响如何)
- 如何掌握 Java 图形化界面设计原则?(java图形化界面设计原则)
- 在 Java 中如何获取栈顶元素?(java怎么获取栈顶元素)
- 软考高级考试可以自己选批次吗?
- Java 中如何获取字符数组中的字符?(java字符数组怎么获取字符)
- 在 Java 中,JLabel 的文本是否能够实现旋转?(java中jlabel的文本能否实现旋转)
- Java编程中 abstract 类和方法的详细解析与应用指南(java编程abstract类和方法详解)
- 如何判断 Java 数组中是否存在重复元素?(Java怎么判断数组是否有重复元素)
- Java 中魔法值究竟是什么含义?(java魔法值是什么意思)
猜你喜欢
AI推送时光机使用 Paramiko SFTP 获取文件的创建时间戳
后端开发2024-02-09
python获取文件修改时间与创建时间
后端开发2023-01-31
vbscript中怎么获取文件的创建时间
后端开发2023-06-08
使用golang获取linux上文件的访问/创建/修改时间
后端开发2022-06-04
Windows环境bat脚本获取文件的创建时间
后端开发2024-04-02
使用Golang获取当前时间的时间戳的方法
后端开发2024-01-16
使用java怎么获取整点的时间戳
后端开发2023-06-06
Python中怎么获取文件的创建和修改时间
后端开发2023-06-02
linux下获取文件的创建时间与实战教程
后端开发2022-06-04
使用java获取时间戳的方法有哪些
后端开发2023-05-30
使用php 获取时间今天、明天、昨天时间戳的详解
后端开发2023-09-11
如何将数据导出到文件名包含文件创建时间戳的 CSV 文件?
后端开发2023-10-22
教你使用Java获取当前时间戳的详细代码
后端开发2024-04-02
Java如何获取resources下的文件路径和创建临时文件
后端开发2022-12-29
如何使用cmd命令修改文件创建时间
后端开发2023-06-08
python两种方法读取、修改文件的创建时间、修改时间、访问时间
后端开发2023-09-04
使用C#怎么修改文件的创建和修改时间
后端开发2023-06-14
使用python的netCDF4库读取.nc文件 和 创建.nc文件
后端开发2023-06-02
使用python怎么创建一个带有文件名的临时文件
后端开发2023-06-14
咦!没有更多了?去看看其它编程学习网 内容吧