python自动化-vue
import sys import time import os import paramiko from pygments.lexers import shell import zipfile import json baseconfig =None # baseconfig={ # "ip": "xxxxxxx", # "port": xx, # "username": "x", # "password": "xxx", # "remotedir": "/xx/xx/xxx" # } with open("pyconfig","r") as f: baseconfig = json.load(f) print("===========开始npm打包===========") os.system('npm run build') print("===========npm打包完成,开始生成zip===========") # 开始打包为zip output_name = "dist.zip" if os.path.exists(output_name): os.remove(output_name) zip = zipfile.ZipFile(output_name, "w", zipfile.ZIP_DEFLATED) for root, dirs, files in os.walk("./dist"): for file in files: if str(file).startswith("~$"): continue filepath = os.path.join(root, file) writepath = os.path.relpath(filepath) zip.write(filepath, writepath) zip.close() print("===========生成zip结束===========") jarpath = sys.path[0] + "/" + output_name ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh.connect(hostname=baseconfig["ip"], port=baseconfig["port"], username=baseconfig["username"], password=baseconfig["password"]) ssh.get_transport() sftp = paramiko.SFTPClient.from_transport(ssh.get_transport()) remotedir = baseconfig["remotedir"] sftp.put(output_name, remotedir + output_name) print("===========上传成功===========") shell = "cd %s && rm -rf static dist index.html favicon.ico && unzip %s && mv dist/* ./" % (remotedir, output_name) stdin, stdout, stderr = ssh.exec_command(shell) print(stderr.readline()) print(stdout.read()) print("===========重启成功===========") exit(0)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
2018-07-25 mysql日期 获取本月第一天 获取下个月的第一天