如何使用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
答案 0 :(得分:0)
我建议使用优秀的python文件系统抽象pyfs,你可以从documents所有文件系统中看到,一旦安装,就有import java.util.List
,copy
,copydir
和move
方法,我将永远复制,验证然后删除以确保安全,尤其是在远程系统上。
答案 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)