Python ftplib无法删除FTP文件,lftp却可以,求排查解决
回答
- 重复调用
login()是核心问题:你代码里连续执行了两次登录操作,第一次用admin账号登录,第二次无参数调用ftp.login()会触发匿名登录,直接覆盖了之前的admin身份。后续删除文件时,实际是以匿名用户身份执行,权限不足导致550错误。 - 修正方案:删除多余的无参数
login()调用,只保留一次带账号的登录:
from ftplib import FTP ftp = FTP('192.168.1.2') ftp.login(user='admin', passwd=None) # 仅保留此次登录 ftp.cwd('audio/user_rec/575B62E2') ftp.delete('2023-10-27_12-23-04.wav')
这个逻辑也能解释lftp成功的原因——lftp只完成了一次admin账号的正确登录,没有重复登录切换身份。
内容的提问来源于stack exchange,提问作者banderlog013
相关产品推荐
相关产品推荐

