如何更改 Python FTP 中的目录?

How can I change the directory in Python FTP?

我有以下代码:

import ftplib
import easygui

# log in
session = ftplib.FTP(host, username, password)

# upload thumbnail
print('Select your thumnbail')
thumbnail = easygui.fileopenbox('', 'Select your thumbnail')
thumbnailsplit = thumbnail.split('\')
thumbnailname = thumbnailsplit[-1]
ftplib.FTP.cwd(dirname='/thumbnails')
file = open(thumbnail, 'rb')
session.storbinary(f'STOR {thumbnailname}', file)

# close session
file.close()
session.quit()

根据文档,这应该将我的 FTP 服务器中的目录更改为 'thumbnails',但我却收到此错误:

Traceback (most recent call last):
  File "MovieUpload.py", line 13, in <module>
    ftplib.FTP.cwd(dirname='/thumbnails')
TypeError: cwd() missing 1 required positional argument: 'self'

文档声明这样使用它:

FTP.cwd(pathname)

我做错了什么?

你应该使用完整路径,像这样/home/user/folder/subfolder

您应该使用您在登录时为 ftp 操作创建的 ftplib.FTP 实例。

import ftplib
session = ftplib.FTP(host, username, password)
session.cwd('/thumbnails')