我正在尝试将复制的文件从服务器写入本地目录。但是发现权限被拒绝访问该文件夹.....我在这里展示我的代码。请更正我的错误....
代码:
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'
答案 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
。