我如何打开一个FTP目录,以便可以像使用普通目录一样使用它?

2024-04-16 08:40:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试制作一个应用程序,下载一些东西并将其放在FTP服务器上。没有足够的空间,即使是暂时的,也无法将正在下载的文件放在我的计算机上,因此我希望将它们下载到FTP服务器中

具体而言,我使用pytube下载视频,使用:

stream.download()

.download()可以保存路径变量,但我不知道如何使用它以这种方式发送FTP服务器。我正在寻找一种方法来打开一个FTP目录,这样我就可以使用路径来填写那里

任何帮助都将不胜感激


Tags: 文件方法路径服务器目录应用程序stream视频
1条回答
网友
1楼 · 发布于 2024-04-16 08:40:01

ftputil维护人员在此::-)

我还没有使用pytube,所以我只能回答ftputil部分

如果你真的不想或不能将视频文件暂时保存到你的计算机上,你需要一种方法来获得一个类似文件的对象,以便从Pytube下载视频。(我还不知道怎么做。有一个“流”的接口,但我不确定它们是否可以直接用作类似文件的对象。)

如果您有Pytube中的文件对象,您可以创建一个类似文件的对象,以便在FTP服务器上写入您选择的路径,并从文件对象复制到文件对象:

import shutil

import ftputil
import pytube


# Get file-like object for video.
source_file = ...

with ftputil.FTPHost(host, user, password) as ftp_host:
    with ftp_host.open('/path/to/target_file', 'wb') as target_file:
        shutil.copyfileobj(source_file, target_file)

我知道Pytube零件不见了。也许其他人可以贡献,或者你可以在their ticket system上询问。(我没有找到邮件列表或类似的。)

尽管如此,即使它不能回答您的实际问题,您也可以在本地下载每个视频文件,并将其逐个文件上载到FTP服务器。这样,您只需要为最大的视频文件留出空间

代码示例的链接:

相关问题 更多 >