#!/usr/bin/python3 from os import walk , chdir ,path from subprocess import call from os import sep as SEP ####################### ### Author:fingerecho ### Date:20181117 ### Func: the function of mericials , hg code upload to server ################################################################ ########## ### Params: ## PORT : server sshd port ## HOST : server domain name or IP ## RSA_FILE : rsa file name ## POR_NAME : the name of your project ###################################### PORT = 22 HOST = "hello.fyping.cn" USER = "root" RSA_FILE = "hello.rsa" PRO_NAME = "world_hello_zol" def handle(path:str): global PORT,HOST,USER,RSA_FILE #print("<<<<<<<<",path,">>>>>>>") origin_file = path.strip("..{SEP}..{SEP}".format(SEP=SEP)) origin_linux = "/".join(origin_file.split(SEP)) cm_meta = "scp -i ..{SEP}..{SEP}..{SEP}..{SEP}administrator{SEP}.ssh{SEP}{RSA} \ -P {PORT} -r ..{SEP}..{SEP}{ORIGIN}\ {USERNAME}@{HOST}:{SEP}srv{SEP}{PRO_NAME}{SEP}{ORIGIN_LINUX}".format(\ SEP=SEP,PORT=PORT,ORIGIN=origin_file,\ USERNAME=USER,HOST=HOST,\ RSA=RSA_FILE,PRO_NAME=PRO_NAME,\ ORIGIN_LINUX = origin_linux) if 0==call(cm_meta): print("execute success") else: print("execute failed , please check process code") def run_all(path:str): tr = walk(path) for t in tr: for file_ in t[2]: handle(file_) def run_all_opt(path:str): ZZ = [ [t[0],t[2]] for t in walk(path)] res_ = [] for xx in ZZ: for yy in xx[1]: res_.append("%s%s%s"%(xx[0],SEP,yy)) #res_.append(path.join(xx[0],yy)) [handle(file_) for file_ in res_] if __name__ == "__main__": run_all_opt("..%s..%s"%(SEP,SEP))