如何使用python将文件从一个文件夹移动到另一个文件夹ftp

时间:2016-10-03 07:05:14

标签: python ftp

如何使用python将文件从一个文件夹移动到同一个ftp中的另一个文件夹 我使用了这段代码,但它无法解决问题

ftp=FTP("host")
ftp.login("user name","password")
def downloadFiles(path,destination):
    try:
        ftp.cwd(path)
         #clone path to destination
        ftp.dir(destination)
        #~ os.mkdir(destination[0:len(destination)-1]+path)
        print destination[0:len(destination)-1]+path+" built"
    except OSError:
        #folder already exists at destination
        pass
    except ftplib.error_perm:
        #invalid entry (ensure input form: "/dir/folder/something/")
         print "error: could not change to "+path
         sys.exit("ending session")

    filelist=ftp.nlst()

    for file in filelist:
         try:
             #this will check if file is folder:
             ftp.cwd(path+file+"/")
             #if so, explore it:
             downloadFiles(path+file+"/",destination)

         except ftplib.error_perm:
             #not a folder with accessible content
             #download & return
             #~ os.chdir(destination[0:len(destination)]+path)
             #possibly need a permission exception catch:
             #~ ftp.retrbinary("RETR "+ file, open(ftp.path.join(destination,file),"wb").write)
             ftp.storlines("STOR "+file, open(ftp.dir(destination, file),'r')) 
             print file + " downloaded"
    return

2 个答案:

答案 0 :(得分:0)

我建议使用优秀的python文件系统抽象pyfs,你可以从documents所有文件系统中看到,一旦安装,就有import java.util.Listcopycopydirmove方法,我将永远复制,验证然后删除以确保安全,尤其是在远程系统上。

答案 1 :(得分:0)

在python中,将文件从一个文件夹移动到另一个文件夹,即移动(当前路径,目标路径)。

from shutil import move
move(current path, target path)

此功能不起作用时可能会发生,因为根据文件大小需要花费时间。好的做法是在功能开始之前停一会儿。

import time
from shutil import move
time.sleep(3)
move(current path, target path)