-1

我正在尝试使用 Python 中的ftplib库来尝试将一些视频 FTP 到我的网站。我有一个基本“工作”的脚本,但它有一个问题。当我尝试使用 VLC 播放器播放我的视频时,它似乎已损坏,因为它只播放视频的前 15 秒(可能直到视频中的一些重要关键帧,但这可能不是重点),然后只播放音频有时继续。

奇怪的是,如果我ls -l在本地目录和远程目录上执行,文件大小是相同的(即使 Mac 本地计算文件大小为 75.6 MB,而 cPanel 文件管理器显示它仅为 71.2 MB) . 仔细检查,两端的 MD5 校验和也相同。但很明显,数据在服务器端并不完全正确。奇怪的是,我可能没有在我的 Python 脚本中正确打开 .mov 文件,因为我花了一点时间才将我的头脑围绕在文件和类似文件的对象上(这意味着我可能仍然错了)。

这是我当前的上传脚本:

#!/usr/bin/env python

import os
from ftplib import FTP

# Log in to the FTP server
ftp = FTP('campusweatherservice.com')
ftp.login('myusername', 'mypassword')

# Change directories to the intended video source
os.chdir('/Users/cws/Desktop/CNET')

f = file('cnet.mov', 'rb')         # Currently opening the file as a file object
ftp.storbinary('STOR CNET.mov', f) # We then try to store it this way

# Close our file object and then quit the FTP client
f.close()
ftp.quit()

我在这里有什么想法或明显的错误吗?如果您想亲自尝试视频文件,请访问 http://www.campusweatherservice.com/CNET/CNET.mov

4

1 回答 1

1

因此,希望您可以从对原始问题的评论中看到,这个问题是一个测试问题,而不是代码问题。

在这里学到的教训:

  1. 如果您的校验和匹配,请确保您的文件实际上并不相同。与一些奇怪的边缘案例相比,这种情况的可能性要高出 1000 倍(正如我最初认为的那样)
  2. 如果您在 Stack Overflow 帖子中提供了可操作的项目(例如“下载我的视频以亲自查看”),您可能应该自己测试一下。

所以我想这个问题现在至少可以作为 a) 使用 Python 通过 FTP 上传文件的参考和 b) 在 Stack Overflow 上提问的好课!

于 2013-01-15T05:19:40.347 回答