Назад | Перейти на главную страницу

Как найти временную метку файла на FTP-сервере

Мне нужно найти последний созданный файл в папке FTP. Однако FTP-сервер не возвращает полные отметки времени для файлов с помощью команды LIST (без года):

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» и такая команда показывает либо дату, либо дату и время, в зависимости от «возраста» файла:

-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. Это позволяет вам получить подробную статистику файла, такую ​​как дата создания, размер файла и т. Д. Это высокоуровневый интерфейс ftplib.

Вы также можете найти эту ссылку полезной -

http://mcdc.missouri.edu/libs/python/ftputil/ftputil.html