извлечение файлов из ftp в конкретный каталог os с использованием python 3 - PullRequest
0 голосов
/ 28 сентября 2019

Я пытаюсь автоматизировать ежедневную передачу ftp, используя скрипт Python3.У меня небольшая проблема, хотя с написанием файлов я хотел, чтобы они были.Вот что я делаю:

import time, os
from ftplib import FTP
from datetime import datetime

today=time.strftime('%d%m%y')
dirName='mydir'+today

if not os.path.exists(dirName):
    os.mkdir(dirName)
    print("Directory " , dirName ,  " Created ")
else:    
    print("Directory " , dirName ,  " already exists")

os.chdir(dirName)

start = datetime.now()
ftp = FTP('ftp')
ftp.login('user','pass')
ftpdir='localdir'+today
ftp.cwd(ftpdir)

# Get All Files
files = ftp.nlst()

# Print out the files
for file in files:
    print("Downloading..." + file)
    ftp.retrbinary("RETR " + file, open(dirName + file, 'wb').write)

ftp.close()

, что я получаю с этим кодом, так это то, что все загруженные ftp-файлы остаются на уровне папки выше «сегодня», в то время как их имя файла начинается со строки «сегодня».

Может кто-нибудь помочь, пожалуйста?

Заранее спасибо

1 Ответ

0 голосов
/ 30 сентября 2019

Вы должны разделить компоненты пути.Для решения, не зависящего от платформы, используйте os.path.join:

import os

dirName = os.path.join('mydir', today)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...