使用python将文件从服务器复制到本地目录

时间:2014-11-25 10:16:26

标签: python

我正在尝试将复制的文件从服务器写入本地目录。但是发现权限被拒绝访问该文件夹.....我在这里展示我的代码。请更正我的错误....

代码:

from ftplib import FTP
import os
ip="ip address"
password='pwd'

ftp=FTP(ip)
ftp.login(username,password)
print "File List:"
files=ftp.dir()
mypath='C:\\test\\'+files
os.makedirs(mypath)
for filek in files: # Loop - looking for matching files
    file = open("%s" %(mypath), 'w')
    ftp.retrbinary('RETR '+ filek, file.write)

我收到以下错误:

IOError: [Errno 13] Permission denied: 'C:\\test\\November'

1 个答案:

答案 0 :(得分:0)

使用os.makedirs(mypath)创建目录,稍后您要将其作为file = open("%s" %(mypath), 'w')中的文件写入。

您可以将mypath='C:\\test\\'+files修改为mypath='C:\\test\\',然后再修改

for filek in files: # Loop - looking for matching files
    f = open("%s/%s" % (mypath, filek), 'w') # the slash will also work in windows!
    ftp.retrbinary('RETR '+ filek, file.write)
    f.close()

或者您必须在循环中引入文件名。

您还必须处理os.makedirs(mypath)失败的情况,因为mypath上的目录已经存在。请不要使用file作为变量名称,它会覆盖内置file