Python 可以压缩一个文件(文件?),然后在上载后解压缩,还是上载和重命名是唯一的选项?

Python 可以压缩一个文件(文件?),然后在上载后解压缩,还是上载和重命名是唯一的选项?,python,python-2.7,zip,unzip,ftplib,Python,Python 2.7,Zip,Unzip,Ftplib,我不知道这是否可能 假设我想将test.html放入.zip存档,然后使用ftplib上传文件,然后在上传后将其提取,覆盖任何文件 如果不可能,那么上传文件的最佳方式是什么,然后重命名并覆盖原始文件名(我是否必须从ftp文件夹中删除原始的test.html) 有什么想法吗 ftp_session = ftplib.FTP('ftp.website.com','admin@website.com','password123') ftp_file = open('output.html','r')

我不知道这是否可能

假设我想将
test.html
放入
.zip
存档,然后使用
ftplib
上传文件,然后在上传后将其提取,覆盖任何文件

如果不可能,那么上传文件的最佳方式是什么,然后重命名并覆盖原始文件名(我是否必须从ftp文件夹中删除原始的
test.html

有什么想法吗

ftp_session = ftplib.FTP('ftp.website.com','admin@website.com','password123')
ftp_file = open('output.html','r')
ftp_session.cwd("/folder")
ftp_session.storlines('STOR output.html', ftp_file)
ftp_file.close()
ftp_session.quit()

FTP服务器不会解压您的文件,您必须在另一端运行某些东西才能解压

如果要替换单个文件,请将其上载为
test.html.tmp
,然后将其重命名为
test.html
。重命名(ftp操作)应该是原子的(文件系统方面的),并将覆盖旧文件(实际上只需删除它并将名称指向新文件)。这样,任何读取该文件的操作都将获得旧版本或新版本,但正确地说,没有读取新文件一半的危险


我认为使用CPanel可以运行unzip,它很可能会打开文件进行编写,截断文件,然后填充内容。这不是原子文件,有人可能读取无效文件。另一方面,您可以编写一个远程运行的脚本,并以您想要的方式执行操作。

FTP服务器不会解压您的文件,您必须让另一端运行的东西来执行此操作

如果要替换单个文件,请将其上载为
test.html.tmp
,然后将其重命名为
test.html
。重命名(ftp操作)应该是原子的(文件系统方面的),并将覆盖旧文件(实际上只需删除它并将名称指向新文件)。这样,任何读取该文件的操作都将获得旧版本或新版本,但正确地说,没有读取新文件一半的危险


我认为使用CPanel可以运行unzip,它很可能会打开文件进行编写,截断文件,然后填充内容。这不是原子文件,有人可能读取无效文件。另一方面,您可以编写一个远程运行的脚本,并以您想要的方式执行操作。

FTP服务器不会解压您的文件,您必须让另一端运行的东西来执行此操作

如果要替换单个文件,请将其上载为
test.html.tmp
,然后将其重命名为
test.html
。重命名(ftp操作)应该是原子的(文件系统方面的),并将覆盖旧文件(实际上只需删除它并将名称指向新文件)。这样,任何读取该文件的操作都将获得旧版本或新版本,但正确地说,没有读取新文件一半的危险


我认为使用CPanel可以运行unzip,它很可能会打开文件进行编写,截断文件,然后填充内容。这不是原子文件,有人可能读取无效文件。另一方面,您可以编写一个远程运行的脚本,并以您想要的方式执行操作。

FTP服务器不会解压您的文件,您必须让另一端运行的东西来执行此操作

如果要替换单个文件,请将其上载为
test.html.tmp
,然后将其重命名为
test.html
。重命名(ftp操作)应该是原子的(文件系统方面的),并将覆盖旧文件(实际上只需删除它并将名称指向新文件)。这样,任何读取该文件的操作都将获得旧版本或新版本,但正确地说,没有读取新文件一半的危险


我认为使用CPanel可以运行unzip,它很可能会打开文件进行编写,截断文件,然后填充内容。这不是原子文件,有人可能读取无效文件。另一方面,您可以编写一个远程运行的脚本,并按照自己的方式执行操作。

在另一端解压文件的方法是什么?你也在写FTP服务器吗?如果我通过cpanel登录到服务器并进入web FTP,我可以手动提取,请参阅原始帖子,了解我使用的代码片段。另一端将解压文件的是什么?你也在写FTP服务器吗?如果我通过cpanel登录到服务器并进入web FTP,我可以手动提取,请参阅原始帖子,了解我使用的代码片段。另一端将解压文件的是什么?你也在写FTP服务器吗?如果我通过cpanel登录到服务器并进入web FTP,我可以手动提取,请参阅原始帖子,了解我使用的代码片段。另一端将解压文件的是什么?你也在写FTP服务器吗?如果我通过cpanel登录到服务器并进入web FTP,我可以手动提取,请参阅原始帖子了解我使用的代码片段