您的位置:首页 > 科技 > 能源 > 石家庄做网站那家好_app开发公司组织结构图_国外b站不收费免费2023_自己如何优化网站排名

石家庄做网站那家好_app开发公司组织结构图_国外b站不收费免费2023_自己如何优化网站排名

2024/12/23 10:08:24 来源:https://blog.csdn.net/qq_38617531/article/details/144445083  浏览:    关键词:石家庄做网站那家好_app开发公司组织结构图_国外b站不收费免费2023_自己如何优化网站排名
石家庄做网站那家好_app开发公司组织结构图_国外b站不收费免费2023_自己如何优化网站排名

环境

Python-3.8
Windows 64位

安装必要的库

首先,确保已经安装了以下库:

#有网安装方式:
pip install paramiko
#离线安装方式:
pip install bcrypt-3.1.7-cp38-cp38-win_amd64.whl
pip install cryptography-2.9-cp38-cp38-win_amd64.whl
pip install PyNaCl-1.3.0-cp38-cp38-win_amd64.whl
pip install paramiko-2.9.5-py2.py3-none-any.whl

代码实现

import os  # 引入os模块
import paramiko  # 引入paramiko代码
from stat import S_ISDIR
import base64  # 引入base64模块# base64加密
def b64_encode(password):password = password.encode("utf-8")return base64.b64encode(password)# base64 解密
def b64_decode(password):return base64.b64decode(password)def isdir(sftp, dirPath):try:return S_ISDIR(sftp.stat(dirPath).st_mode)except IOError:return Falsedef rm(sftp, path):files = sftp.listdir(path)for f in files:filepath = path + '/' + fprint("删除已存在文件: " + filepath)if isdir(sftp,filepath):rm(filepath)else:sftp.remove(filepath)sftp.rmdir(path)path = 'D:/Temp/en/20221114'  # 赋值路径
pathDate = path.split("/")[-1]
sftpPath = os.path.join('/home/app_adm/tmp/sftp/', pathDate)
print(sftpPath)
mylist = os.listdir(path)  # 赋值列表(列表的索引从0开始)pw=b64_decode('**********')
transport = paramiko.Transport(('********', 22))  # 打开通道
transport.connect(username='infra_adm', password=pw)  # 开始连接
sftp = paramiko.SFTPClient.from_transport(transport)  # 打开sftp客户端try:print("开始创建目录:" + sftpPath)sftp.stat(sftpPath)rm(sftp, sftpPath)sftp.mkdir(sftpPath, mode=0o775)
except FileNotFoundError:# 目录不存在,创建目录sftp.mkdir(sftpPath, mode=0o775)count = 0  # 用来计数
while count < len(mylist):  # 如果列表里有多个值 则一一循环print("正在传输:" + mylist[count])  # 循环开始时打印正在传输的文件名fullPath = path + '/' + mylist[count]sftpFullPath = sftpPath + '/' + mylist[count]# print(fullPath)# print(sftpFullPath)sftp.put(fullPath, sftpFullPath)print(mylist[count] + '传输完成')  # 传输完成后打印传输完成的文件名count = count + 1  # 每次上传完一个文件计数+1
transport.close()  # 当传输结束之后关闭通道

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com