我正在尝试使用Python将CSV文件加载到Amazon S3。我需要知道CSV文件的修改时间。我正在使用ftplib将FTP与Python(2.7)连接。
虽然可以使用MLST
或MDTM
命令通过FTP检索单个文件的时间戳,但ftplib都不支持。
当然,您可以使用实现自己的MLST
或。MDTM
FTP.voidcmd
有关详细信息,请参阅RFC 3659,尤其是:
一个简单的例子MDTM
:
from ftplib import FTP
from dateutil import parser
# ... (connection to FTP)
timestamp = ftp.voidcmd("MDTM /remote/path/file.txt")[4:].strip()
time = parser.parse(timestamp)
print(time)
ftplib库明确支持的唯一可以返回标准化文件时间戳记的命令是MLSD
通过FTP.mlsd
method。尽管仅当您要检索更多文件的时间戳时才使用它。
MLSD
modify
事实YYYYMMDDHHMMSS[.sss]
有关详细信息,请再次参考RFC 3659,尤其是:
2.3。时间段
from ftplib import FTP
from dateutil import parser
files = ftp.mlsd(“/remote/path”)
for file in files:
name = file[0]
timestamp = file[1][‘modify’]
time = parser.parse(timestamp)
print(name + ‘ - ‘ + str(time))
请注意MLST
,MLSD
和返回的时间MDTM
均为UTC(除非服务器损坏)。因此,您可能需要针对您当地的时区进行更正。
同样,请参阅RFC 3659 2.3。时间部分:
时间值始终以UTC(GMT)和公历表示,无论在服务器PI位置指示的日期和时间使用了哪种日历。
如果FTP服务器不支持任何的MLST
,MLSD
而且MDTM
,你所能做的就是用一个过时的LIST
命令。这涉及解析返回的专有列表。
常见的* nix列表如下:
-rw-r--r-- 1 user group 4467 Mar 27 2018 file1.zip
-rw-r--r-- 1 user group 124529 Jun 18 15:31 file2.zip
使用这样的清单,此代码将执行以下操作:
from ftplib import FTP
from dateutil import parser
# ... (connection to FTP)
lines = []
ftp.dir("/remote/path", lines.append)
for line in lines:
tokens = line.split(maxsplit = 9)
name = tokens[8]
time_str = tokens[5] + " " + tokens[6] + " " + tokens[7]
time = parser.parse(time_str)
print(name + ' - ' + str(time))
问题内容: 我正在使用C程序,需要获取文件的最后修改时间。程序要做的是一个函数循环遍历目录中的每个文件,当找到特定文件时,它将调用另一个函数来检查文件的最后修改时间。 在该目录下有一个,和等当我使用ll命令我可以看到,列出目录在linux 和进行了修改,在5月4日,并于5月3日进行了修改。 但是,当程序检查这些文件中的每个文件时,它总是会返回3rd may。下面是我正在使用的代码。 我尝试了的所有
本文向大家介绍使用golang获取linux上文件的访问/创建/修改时间,包括了使用golang获取linux上文件的访问/创建/修改时间的使用技巧和注意事项,需要的朋友参考一下 在linux上想获取文件的元信息,我们需要使用系统调用lstat或者stat。 在golang的os包里已经把stat封装成了Stat函数,使用它比使用syscall要方便不少。 这是os.Stat的原型: func S
问题内容: 我想根据以下条件在PHP中修改我的xml文件。 我的xml结构如下所示: 现在每次在xml进行修改时,都带有type属性。 意味着,第一次搜索字符串==“ hotels”时,与酒店有关的数据将以上述格式存储在xml文件中。 现在,当再次搜索酒店时,它将删除具有带有值酒店的子元素的元素。 然后在与学校相关的数据附加到xml文件时,进行针对学校的不同查询。与酒店的数据。 现在再次搜索学校已
问题内容: 我有一个脚本,该脚本需要根据文件创建和修改日期执行一些操作,但必须在Linux和Windows上运行。 在Python中获取文件创建和修改日期/时间的最佳跨平台方法是什么? 问题答案: 以跨平台的方式获取某种修改日期很容易-只需调用,你就会获得Unix时间戳,该时间戳是文件的最后修改时间。 另一方面,获取文件的创建日期是不固定的,并且依赖于平台,甚至在三大操作系统之间也有所不同: 在上
本文向大家介绍java使用apache commons连接ftp修改ftp文件名失败原因,包括了java使用apache commons连接ftp修改ftp文件名失败原因的使用技巧和注意事项,需要的朋友参考一下 今天被ftp上中文名修改坑了好久 项目用的是 apache commons 里的 FtpClient 实现的对ftp文件的上传下载操作,今天增加了业务要修改ftp上的文件名,然后就一直的报
使用Apache Camel插件for Grails。使用ftpendpoint并希望通过修改的日期处理文件。这与使用“...&sortby=file:modified”url参数的预期效果不一样。它忽略日期并按文件名排序。我试过几个版本,比如“reverse:file:modified”和“date:file:yyyymmddmmssssss”。平台是运行在Linux上的Grails 2.3.5