问题标签 [ftplib]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 通过 FTP 将文件复制到服务器后的文件大小差异
我创建了一个 PHP 脚本来更新位于本地目录中的 Web 服务器。我正在将脚本迁移到 Python 中。它在大多数情况下都可以正常工作,但是在执行 PUT 命令之后,文件的大小似乎发生了变化。因此,文件的大小与服务器上文件的大小不同。
一旦我再次从 FTP 服务器下载文件,唯一的区别就是 CR/LF 标记。这让我很恼火,因为同一个脚本正在比较要更新的文件的大小。此外,如果它意味着什么,该脚本可以通过 ftp_put 在 PHP 中完美运行。
有什么建议么?
python - 如何解析文件列表以仅获取 Python 中的文件名?
因此,假设我正在使用 Python 的ftplib从 FTP 服务器检索日志文件列表。我将如何解析该文件列表以仅获取列表中的文件名(最后一列)?有关示例输出,请参见上面的链接。
python - 防止 ftplib 下载正在进行的文件?
我们有一个 ftp 系统设置来监控/从不受我们控制的远程 ftp 服务器下载。该脚本连接到远程 ftp,并获取服务器上文件的文件名,然后我们检查它是否已下载。如果尚未下载,则我们下载文件并将其添加到列表中。
我们最近遇到了一个问题,远程 ftp 端的某个人将复制一个巨大的单个文件(> 1GB),然后脚本将唤醒并看到一个新文件并开始下载正在复制的文件。
检查这个的最好方法是什么?我想抓住文件大小等待几秒钟再次检查文件大小,看看它是否增加了,如果没有,那么我们下载它。但是由于时间很重要,我们不能为每个文件集等待几秒钟,看看它的文件大小是否增加了。
最好的方法是什么,目前一切都是通过pythons ftplib完成的,除了使用上述方法之外,我们怎么能做到这一点。
让我再次重申这一点,我们对远程 ftp 站点的控制为 0。
谢谢。
更新1:
我在想如果我尝试重命名它会怎样......因为我们对 ftp 拥有完全权限,如果文件上传正在进行中,重命名命令会失败吗?
我们在这里没有任何真正的选择……是吗?
UPDATE2:这里有一些有趣的东西,我们测试过的一些 ftps 似乎会在传输开始后自动分配空间。
例如,如果我将一个 200mb 的文件传输到 ftp 服务器。如果我连接到 ftp 服务器并在上传时进行大小调整,则传输处于活动状态。它显示大小为 200mb。即使文件只完成了 10%。
权限似乎也是随机设置的,IIS 附带的 FTP 服务器在文件复制完成后设置权限。而其他一些较旧的 ftp 服务器会在您发送文件时立即设置它。
:'(
python - 下载 zip 文件并使用 Python 将其写入磁盘有什么特殊技巧吗?
我正在使用 Python 的 ftplib 从远程 FTP 站点上传一个 zip 文件。然后我尝试将其写入磁盘。文件写入有效,但是大多数使用 WinZip 或 WinRar 打开 zip 的尝试都失败了;两个应用程序都声称文件已损坏。然而奇怪的是,当右键单击并尝试使用 WinRar 提取文件时,文件将被提取。
所以需要明确的是,文件写入将起作用,但不会在流行的 zip 应用程序中打开,但会使用这些相同的应用程序解压缩。请注意,Python zipfile 模块永远不会无法提取 zip。
这是我用来从 FTP 站点获取 zip 文件的代码(请忽略错误的标签,这不是问题)。
python - 在 python 中使用 storbinary 部分上传
我已经编写了一些 python 代码来使用下载图像
然后使用上传到 FTP 站点
但我有一个问题。有时图像文件只是部分上传,所以我得到的图像底部 20% 左右被截断。我检查了本地下载的版本,并且已经成功下载了整个镜像,这让我相信这是 storbinary 的问题。我相信我正在正确打开和关闭所有文件。有没有人知道为什么我要使用 storbinary 进行部分上传?
更新: 当我在 Python shell 中运行命令时,上传成功完成,我不知道为什么它与作为脚本运行时不同......
python - 在 python 中通过 FTP 写入文件
所以我关注了这个页面上的文档:http: //docs.python.org/library/ftplib.html#ftplib.FTP.retrbinary
也许我对“retrbinary”的作用感到困惑……我认为它会检索二进制文件,然后我可以从那里打开它并写出该文件。
这是给我带来问题的线...
我不明白的是我想写到 temp.txt,所以我在尝试
但我遇到了错误,我能够建立一个 FTP 连接,执行 pwd()、cwd()、rename() 等。
ps 我正在尝试尽可能多地用谷歌搜索,谢谢!
python - ftplib 检查文件是否是文件夹?
如何检查远程 ftp 上的文件是否是文件夹或不使用 ftplib?
我现在最好的方法是做一个 nlst,并遍历每个文件的调用大小,如果文件出错,那么它是一个文件夹?
有没有更好的办法?我无法解析列表的输出,因为大约有十几个不同的 ftp 服务器(许多非常旧。)
我应该怎么办?
python - 用于 FTP 上传/下载的 Python 库?
好的,有点前进:
我们有一个用 python 编写的服务/守护进程来监控远程 ftp 站点。这些站点不在我们的指挥之下,其中一些我们没有删除/重命名/写入权限,有些还运行着非常旧的 ftp 软件。这样某些命令不起作用。这些 ftp 中的任何一个都没有标准化,而且它们超出了我们的控制(政府)。
大约一年前,我为内部编写了一个 ftp 包装器库,它基本上添加了诸如恢复上传/恢复下载/验证文件当前未写入等内容。问题是我们很快发现,由于太多运行 werid/非标准软件的 ftp 服务器,我们一直在与包装库/ftplib 进行斗争。
基本上我已经放弃了ftplib。有替代方案吗?我查看了大多数 ftp 替代方案,它们都缺少一个或另一个关键功能组件。
无论选择是什么,它都必须为 python 2.5.2 运行(我们无法更改)。并且必须在 Linux/Windows/HP-UX 上运行。
更新:
对不起,我忘了告诉你我看过的替代方案:
- ftputil,问题是它不支持恢复上传/下载以及部分下载文件等给定偏移量的东西。
- Pycurl 看起来不错,我会再看一遍。
python - Python ftplib - 上传多个文件?
我用谷歌搜索,但我只能找到如何上传一个文件......我正在尝试将所有文件从本地目录上传到远程 ftp 目录。任何想法如何实现这一目标?
python - Python FTP 应用程序中的代理
我正在用 Python ftplib 开发一个 FTP 客户端。如何为其添加代理支持(我见过的大多数 FTP 应用程序似乎都有它)?我特别在考虑 SOCKS 代理,还有其他类型... FTP、HTTP(甚至可以将 HTTP 代理与 FTP 程序一起使用吗?)
任何想法如何做到这一点?