2013-11-18 2 views
3

Добрый день!Дата создания файла через ftp

Как получить созданную дату файла через ftp ?. Я использую web2py, python, ftplib и filezilla как ftp-сервер. Я могу получить измененную дату через f.sendcmd («MDTM + имя файла»).

Любые предложения? Благодаря!

ответ

7

У вас есть что-то вроде следующего:

connection = ftplib.FTP(**ftpCredentials) 
modifiedTime = connection.sendcmd('MDTM ' + fileName) 
# successful response: '213 20120222090254' 

Для интерпретации время изменения, вы должны сделать следующее:

from datetime import datetime 

print datetime.strptime(modifiedTime[4:], "%Y%m%d%H%M%S").strftime("%d %B %Y %H:%M:%S") 
# prints something like 01 January 1970 09:30:01 

Источник: this blog post @ http://alexharvey.eu/code/python/get-a-files-last-modified-datetime-using-python/

+0

спасибо за ваш ответ, но мой вопрос СОЗДАЛ ДАТА. – user3005006

+0

Серверы FTP не поддерживают запрос даты создания файла. Ваша лучшая надежда на поиск информации о конкретном файле - это команда 'MLST', которая может возвращать что-то вроде:' size *; type *; perm *; create *; modify *; ' –

+0

Я знаю, что это старый пост, но ... стандарты должны были развиться, потому что этот метод теперь отлично работает для меня на Python 3+, для тех, кто может наткнуться на этот пост. – theeastcoastwest

0

Когда я хочу, чтобы изменить время изменения файла, я использую FTP-клиент на консоли. Вход на удаленный FTP FTP ftp.dic.com

  • кд команды перейти в нужный каталог
  • SITE команду для перемещения расширенного режима командной
  • UTIME somefile.txt 20050101123000 20050101123000 20050101123000 UTC

изменить время доступа, время изменения, настало время создать каталог на 2005-01-01 12:30:00 Somefile.txt

Полный пример:

сайт UTIME некий-файл .txt 20150331122000 20150331122000 20150331122000 UTC

Конечно, вы можете использовать эту команду в любом ftp-клиенте.

Смежные вопросы