gpt4 book ai didi

Python ftplib 错误 553

转载 作者:太空狗 更新时间:2023-10-30 01:14:12 26 4
gpt4 key购买 nike

我正在尝试使用 python 连接到服务器并将一些文件从我的本地目录上传到/var/www/html 但每次尝试这样做时我都会收到此错误:

错误:ftplib.error_perm: 553 无法创建文件。

我已经对路径执行了 chown 和 chmod -R 777。我正在使用 vsftpd 并且已经设置了写入启用。有人有什么想法吗?

代码:

ftp = FTP('ipaddress')
ftp.login(user='user', passwd = 'user')
ftp.cwd('/var/www/html')
for root, dirs, files in os.walk(path):
for fname in files:
full_fname = os.path.join(root, fname)
ftp.storbinary('STOR' + fname, open(full_fname, 'rb'))

最佳答案

我遇到了类似的问题,还收到错误 553: Could not create file。什么(更新:部分地)为我解决了这个问题是改变这条线:

ftp.storbinary('STOR' + fname, open(full_fname, 'rb'))

到:

ftp.storbinary('STOR' + '/' + fname, open(full_fname, 'rb'))

请注意,在“STOR”之后有一个空格,并且我在文件名之前添加了一个正斜杠(“/”)以指示我希望将文件存储在 FTP 中根目录

更新: [2016-06-03]其实这只是解决了部分问题。后来才知道是权限问题。 FTP 根目录允许 FTP 用户写入,但我使用另一个用户在此目录中手动创建了文件夹,因此新目录不允许 FTP 用户写入这些目录。

可能的解决方案:

  1. 更改目录权限,使 FTP 用户这些目录的所有者,或者至少能够读取和写信给他们。
  2. 使用 ftp.mkd(dir_name) 函数创建目录,然后使用 ftp.cwd(dir_name) 函数更改目录,然后使用适当的 STOR 函数(storlinesstorbinary)将文件写入当前目录。

    • 据我所知,STOR 命令似乎只将文件名作为参数(而不是文件路径),这就是为什么您需要在使用前确保您位于正确的“工作目录”中STOR函数(记住STOR命令后面的空格)

      ftp.storbinary('STOR' + fname, open(full_fname, 'rb'))

关于Python ftplib 错误 553,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31613111/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com