Найти - Пользователи
Полная версия: проблема при считывании файла по ftp
Начало » Python для новичков » проблема при считывании файла по ftp
1
MarkHammer
Здравствуйте !
Подскажите плиз - используя библиотеку ftplib - пытаюсь скачать файл с удаленной машины…
        import ftplib
        from ftplib import FTP
        print(r'Connect to FTP 10.155.2.250 ...')
        ftp = FTP('10.155.2.250','log','pass')
        ftp.login('log','pass')
        print(r'The file list in the folder:')
        ftp.retrlines("LIST")
        date = time.strftime('%d.%m.%Y')
        filename = r'file_%s.log' %date
        local_filename = os.path.join(r"d:\tmp1", filename)
        lf = open(local_filename, "wb")
        ftp.retrbinary("RETR " + filename, lf.write, 8*1024)
        lf.close()
        ftp.close()
        print('%s file transfered success...' %time.strftime('%d-%m-%Y %H:%M:%S'))


выдает error:

550 can't access file

при этом файл с предыдущей датой - нормально скачивается…
каким образом можно по-другому скачать файл, занимаемый другой программой ?
s0rg
MarkHammer
каким образом можно по-другому скачать файл, занимаемый другой программой ?
Дождаться, когда она его освободит.
JOHN_16
MarkHammer
меня терзают сомнения- точно ли поставлена задача. 1) точно ли дело в занятости файла каким либо процессом 2)я бы спросил по права на файл…,мало ли..
MarkHammer
Дождаться пока другая программа освободит файл - не имеет смысла - т.к. файл надо обрабатывать в момент запроса - файл пишется постоянно в течении суток… файл находится на машине с ОС Windows 7
Причем просто открыть файл на этой машине обычным notepad++ или другим текстовым редактором не составляет проблемы… открывается не ругаясь… Про права на файл - сейчас уже не могу посмотреть - но думаю что обычные - т.к. файл за предыдущие сутки - по фтп - открывается без проблем…
Скорее всего проблема связана именно с блокированием файла той программой, которая пишет в него инфу… вот только каким образом это решить ?
sanodin
Если только прямой доступ к диску использовать примерно по такому пути
\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\d:\tmp1
на локальном компе я это проделывал так http://python.su/forum/topic/22988/?page=2
по ftp не пробовал
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB