我需要在FTP文件夹中find最新创build的文件。 但是,FTP服务器没有返回LIST命令文件的全部时间戳(缺less年份):
drwxr-xr-x 2 owner group 0 Nov 9 17:29 archive drwxr-xr-x 2 owner group 0 Nov 9 17:35 category drwxr-xr-x 2 owner group 0 Jan 9 07:21 images
而MLSD命令不受支持。
所以目前我用MDTM命令检查每个文件的时间戳。 有没有更有效的方法?
我正在使用ftplib包装。
男子ftp说:
ls [remote-directory] [local-file] Print a listing of the contents of a directory on the remote machine. The listing includes any system-dependent information that the server chooses to include; for example, most UNIX systems will produce output from the command 'ls -l'. (See also nlist.) If remote-directory is left unspecified, the current working directory is used. If interac‐ tive prompting is on, ftp will prompt the user to verify that the last argument is indeed the target local file for receiving ls output. If no local file is specified, or if local-file is '-', the output is sent to the terminal.
因此, 大多数UNIX系统将从命令'ls -l'产生输出,并且这个命令显示date或date和时间,这取决于文件的“年龄”:
-rw-rw-r-- 1 user group 4 ene 21 12:40 keepalive.out -rw-rw-r-- 1 user group 525292 oct 4 2013 Linux.svg
考虑到你在FTP命令之后可靠而高效地获取时间戳 ,我很担心你的方法(MDTM命令)是唯一一个不包括编程的东西。
你可能想尝试ftputil 。 虽然它不是一个标准的Python模块,不包括电池的一部分,但它与os.stat具有相似的function。 这可以让你得到详细的文件统计信息,如文件创builddate,大小等。这是一个高层次的ftplib接口。
你也可能会发现这个链接有用 –