1、zipfile压缩
import zipfile
import tarfile
#压缩文件或文件夹为zip
def zip_dir(srcPath,dstname):
zipHandle=zipfile.ZipFile(dstname,'w',zipfile.ZIP_DEFLATED)
for dirpath,dirs,files in os.walk(srcPath):
for filename in files:
zipHandle.write(os.path.join(dirpath,filename)) #必须拼接完整文件名,这样保持目录层级
zipHandle.close
2、tarfile压缩
def make_targz(output_filename, source_dir):
"""
一次性打包目录为tar.gz
:param output_filename: 压缩文件名
:param source_dir: 需要打包的目录
:return: bool
"""
try:
with tarfile.open(output_filename, "w:gz") as tar:
tar.add(source_dir, arcname=os.path.basename(source_dir))
return True
except Exception as e:
print(e)
return False
3、远程传送文件
# python连接远程服务器,发送文件
def ssh_scp_put(ip, port, user, password, local_file, remote_file):
"""
:param ip: 服务器ip地址
:param port: 端口(22)
:param user: 用户名
:param password: 用户密码
:param local_file: 本地文件地址
:param remote_file: 要上传的文件地址(例:/test.txt)
:return:
"""
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(ip, port, user, password)
sftp = ssh.open_sftp()
sftp.put(local_file, remote_file)
本文详细介绍使用Python进行文件和文件夹的zip和tar.gz压缩方法,并提供了远程服务器文件传输的实现步骤,涵盖ssh_scp_put函数的参数说明及用法。

1943

被折叠的 条评论
为什么被折叠?



