【Python实例】用脚本自动拿一个或多个仿真环境
注1:之前使用的是perl,现在尝试切换到python;
注2:该脚本用于实现自动拿仿真环境,里面应该还有很多不足之处,后续逐渐完善;
注3:假设脚本名字为get_env.py,直接执行脚本,会有两次输入,分别为ll和hl,如果ll=hl,比如均为1,那么最终生成env_1环境;如果hl>ll,比如ll=1,hl=3,则最终生成env_1, env_2, env_3;
资料参考:
(1) https://www.cnblogs.com/heibaimao123/p/16294111.html (可以使用python命令行参数对脚本进行升级)
注1:其实不是很麻烦,在实例脚本中,import sys模块,并且添加ll=int(sys.argv[1])与hl=int(sys.argv[2]);
(2) https://blog.csdn.net/lx_ros/article/details/122811361 (推荐阅读)
实例
注1:11行下面漏掉两行内容,分别为"ll=int("pls enter low limit:")"与"hl=int("pls enter high limit:")";
1 #/usr/bin/python3
2
3 import os
4
5 #设置仿真环境放置的目录位置,该处在脚本中写死,也可以通过微调脚本在仿真命令行输入目录位置;
6 main_work_dir="***"
7 print(main_work_dir)
8
9 #打印信息,说明接下来将会创建env,env的名字是env_*,*是ll到hl之间的数字;
10 #ll为low limit, hl为high limit,后续会需要user在命令行输入;
11 print("env will be created with name-env_*, * is the number from ll to hl!")
12
13 #为了实现打印彩色输出信息而添加的内容;
14 class bcolors:
15 OK ='\033[92m'
16 WARNING ='\033[93m'
17 ERROR ='\033[91m'
18 END ='\033[0m'
19 BOLD ='\033[1m'
20
21 #函数实现跳转到输入参数指定的路径,并打印当前路径;
22 def chdir_print_dir(work_dir):
23 os.chdir(work_dir)
24 work_dir_tmp=os.getcwd()
25 print(work_dir_tmp)
26
27 #函数实现根据输入参数info_type的不同进行不同色彩的打印
28 def colored_print(user_str, info_type):
29 if(info_type=="OK"):
30 start_str=bcolors.OK+bcolors.BOLD
31 end_str =bcolors.END
32 elif(info_type=="WARNING"):
33 start_str=bcolors.WARNING+bcolors.BOLD
34 end_str =bcolors.END
35 elif(info_type=="ERROR"):
36 start_str=bcolors.ERROR+bcolors.BOLD
37 end_str =bcolors.END
38 else:
39 raise Exception("info_type %s is not supported"%info_type)
40
41 for num in range(ll, hl+1):
42 chdir_print_dir(main_work_dir)
43 #下行的***需要用实际的git repo代替
44 os.system("git clone ***"+"env_"+str(num))
45 colored_print("step1: git clone done!!","OK")
46 chdir_print_dir(main_work_dir+"env_"+str(num))
47 #下行根据实际仿真环境的获取而有所不同;
48 os.system("git submodule update --recursive --int")
49 colored_print("step2: git submodule udpate done!!", "OK")
50 chdir_print_dir(main_work_dir)
51 colored_print("step3: env-env_%d is created done!"%num,"OK")
【Python实例】用脚本自动拿一个或多个仿真环境的更多相关文章
- jmeter压力测试的简单实例+badboy脚本录制(一个简单的网页用户登录测试的结果)
JMeter的安装:在网上下载,在下载后的zip解压后,在bin目录下找到JMeter.bat文件,双击就可以运行JMeter. http://jmeter.apache.org/ 在使用jmeter ...
- python(或BAT脚本)自动执行adb shell以后的命令
最近在用python做一个小工具,自动执行一些adb shell命令,使用subprocess.Popen来实现. 不过遇到个问题就是执行adb shell后就无法执行后面adb shell里的命 ...
- Python实现插件机制——自动import一个目录下的所有.py文件
假设有这样一个目录结构: /src main.py /plugins __init__.py a.py ...
- Golang bash脚本自动创建一个go工程
原作者的代码里面,存在智能引号问题,所以他的代码并不能正常运行: 这个是我微调后的版本. 代码如下: #!/bin/bash #————————————– # Module : mk_go_pro.s ...
- docker安装 之 ---CentOS 7 系统脚本自动安装
[使用脚本自动安装] 在测试或开发环境中Docker官方为了简化安装流程,提供了一套便捷的安装脚本,CentOS系统上可以使用这套脚本安装: $ curl -fsSL get.docker.com - ...
- 如何手动写一个Python脚本自动爬取Bilibili小视频
如何手动写一个Python脚本自动爬取Bilibili小视频 国庆结束之余,某个不务正业的码农不好好干活,在B站瞎逛着,毕竟国庆嘛,还让不让人休息了诶-- 我身边的很多小伙伴们在朋友圈里面晒着出去游玩 ...
- Python实例浅谈之五Python守护进程和脚本单例运行
一.简介 守护进程最重要的特性是后台运行:它必须与其运行前的环境隔离开来,这些环境包括未关闭的文件描述符.控制终端.会话和进程组.工作目录以及文件创建掩码等:它可以在系统启动时从启动脚本/etc/rc ...
- 第一个python实例--监控cpu
#第一个python实例:监控cpu #/bin/bash/env Python from __future__ import print_function from collections impo ...
- python实现博客自动刷点击脚本
#A Auto-Visit Web Site Tool import urllib import time import random print "Auto Click the WebPa ...
- 迁移到MSYS2 与 Qt 工具链注意的几个事情(g++在链接时,符号依赖项查找遵循从左至右的顺序,但qmake会自动合并造成错误。使用脚本给Mingw32-make创造出一个局部的VC编译环境)
Microsoft Visual Studio 2015社区版提供了强大的开发体验,且 Qt 提供了预编译版本.然而,由于客户提出兼容Windows XP ~ Windows 8.1 这样宽泛的环境要 ...
随机推荐
- nodejs pm2 详解
一.PM2是什么 pm2是可以用于生产环境的Nodejs的进程管理工具,并且它内置一个负载均衡.它不仅可以保证服务不会中断一直在线,并且提供0秒reload功能,还有其他一系列进程管理.监控功能.并且 ...
- Python 生成多个空列表 空List 空数组方法
生成多个空列表在统计一些参数时候,需要生成多个空List,此时直接办法是: a = [] b = [] c = [] d = [] ... 简洁办法为: a, b, c, d = [[] for i ...
- sqlserver update join
update a set a.UserAgent = b.UserAgent from InfoVisitDetails a inner join InfoVisitDetails b on a.IP ...
- MySQL 修改字段子表中的顺序
修改字段排列位置 ALTER TABLE 表名 MODIFY 字段名1 数据类型 FIRST|AFTER 字段名2 参数说明 FIRST,可选参数 将字段1,修改为表的第一个字段. AFTER 字段名 ...
- 【C学习笔记】day3-2 计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值。
#include <stdio.h> int main() { double sum = 0; double j = 1.0; for (int i = 1; i <= 100; i ...
- [jQuery]判断页面是否滚动到底部
方法1:判断可见高度+滚动高度是否等于内容高度 但经过测试UC.QQ.华为浏览器,这个方法不生效.(打印查因:可能由于屏幕缩放,可见高度和滚动高度会偏小. $(this).scroll(functio ...
- pgsql中物化视图的使用
1.创建物化视图 CREATE MATERIALIZED VIEW "view_xxx" as select * from 表 2.刷新物化视图 refresh material ...
- JavaSE——遍历字符串与统计字符个数
package com.zhao.stringtest; import java.util.Scanner; public class test2 { //键盘录入一个字符串,统计该字符串中大写字母, ...
- 生成数据库文档 —— Spring Boot + Screw
1.创建一个SpringBoot项目(本人使用的是IntelliJ IDEA 2020.1 x64) 最佳简单的项目配置如下: 2.添加相关依赖 <!--screw依赖--> <de ...
- C. Tea Tasting
https://codeforces.com/contest/1795/problem/C 用二分+前缀和+差分卡过 #include <iostream> #include <cs ...