使用Python ftplib库访问FTP目录时遇到问题求助
搞定Python ftplib连接FTP的问题
嘿,我看了你用Python ftplib访问FTP服务器时遇到的问题,帮你揪出几个关键错误,改完应该就能正常运行啦:
第一个坑:服务器地址格式错了
你修改后的代码里写的ftp.xx.xxx.xxx.xxx/是不对的哦!ftplib.FTP的第一个参数只需要纯IP地址就行,既不用加ftp://前缀,也不能在末尾加斜杠/。直接写你原来地址里的xx.xxx.xxx.xxx就好。
第二个坑:密码格式多了多余字符
你密码写的maklit@xx.xxx.xxx.xxx/末尾多了个斜杠,这会导致服务器识别不了密码。如果服务器要求密码是邮箱格式,那去掉末尾的斜杠就行;如果只是普通密码,直接写对应的密码字符串就OK。
修正后的完整代码
把这些问题改完,代码应该是这样的:
import ftplib # 只传纯IP地址,去掉多余的前缀和斜杠 ftp = ftplib.FTP('xx.xxx.xxx.xxx', 'maklit', '你的真实密码') print("File List: ") # 这里注意:ftp.dir()本身就会直接打印文件列表,返回值是None,所以不用存变量再打印 ftp.dir() # 要是你想把文件列表存到变量里用,可以这么写: # file_list = [] # ftp.dir(file_list.append) # print(file_list) ftp.quit() # 用完记得关闭连接哦
另外给你提个小细节:你之前用files = ftp.dir()然后print(files),其实会打印出None,因为ftp.dir()本身就负责输出内容,返回值是空的。如果要把列表存下来,就用上面注释里的回调函数方法就行。
内容的提问来源于stack exchange,提问作者Adam
相关产品推荐
相关产品推荐

