Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用pysftp从服务器上的文件在SFTP服务器上创建zip文件_Python_Python 3.x_Zip_Sftp_Pysftp - Fatal编程技术网

Python 如何使用pysftp从服务器上的文件在SFTP服务器上创建zip文件

Python 如何使用pysftp从服务器上的文件在SFTP服务器上创建zip文件,python,python-3.x,zip,sftp,pysftp,Python,Python 3.x,Zip,Sftp,Pysftp,我想编写一个Python脚本,连接到远程SFTP服务器,并在远程服务器中创建一个ZIP文件,该文件由远程服务器本身中存在的特定文件组成。我已经写了下面的脚本,我正在使用PySTFP来实现这个 with pysftp.Connection(host=myHostname, username=myUsername, password=myPassword, cnopts=cnopts) as sftp: print("Connection succesfully stablishe

我想编写一个Python脚本,连接到远程SFTP服务器,并在远程服务器中创建一个ZIP文件,该文件由远程服务器本身中存在的特定文件组成。我已经写了下面的脚本,我正在使用PySTFP来实现这个

with pysftp.Connection(host=myHostname, username=myUsername, password=myPassword, cnopts=cnopts) as sftp:
    print("Connection succesfully stablished ... ")
    files = ['user/1.csv','user/2.csv','user/test.csv', 'user/test1.csv']
    with zipfile.ZipFile('zipfile.zip', 'w') as zipMe:
        for file in files:
            zipMe.write(file, file.split('/')[-1], compress_type=zipfile.ZIP_DEFLATED)

但不是在远程服务器中创建ZIP文件,而是在本地服务器中创建ZIP文件。有人能帮我吗?

事实上,您的代码将本地文件压缩到本地ZIP存档。请注意,您的代码从不使用
sftp
变量

如果要使用本地Python脚本将远程文件压缩到远程ZIP存档,则必须下载远程文件,在本地进行压缩,然后上载ZIP存档

您可以在“内存”中完成这些操作,而无需将远程文件或ZIP文件实际存储到本地系统。但是你仍然需要做所有的转移。因此,这将是非常低效的


最好使用SFTP(或SSH)连接在远程服务器上执行
zip
命令

相关问题: