【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 这样宽泛的环境要 ...
随机推荐
- QQ空间数据抓取
title: QQ空间数据抓取 author: 杨晓东 permalink: QQ空间数据抓取 date: 2021-10-02 11:27:04 categories: - 嗯哼 tags: - 无 ...
- 记一次SpringBoot整合WebSocket 找不到ServerEndpointExporter类的问题
package com.mengxiangnongfu.cms.framework.configure; import org.springframework.context.annotation.B ...
- notepad++ 配置Java 环境
(1)设计新建文件的类型与编码方式: (2)安装插件NppExec (3)插件配置 (4)编辑并配置命令: 找到Advance Options; 在红中找到Java,点击 (5)运行结果查看: (6) ...
- 02. C语言基础知识
一.注释 注释 就是对代码进行解释说明的文字,注释的内容不会参与编译和运行,仅仅是对代码的解释说明.在 C语言 中注释主要分为以下两类: 单行注释://,注释内容从 // 始到本行和结尾 多行注释 ...
- 收缩SqlServer数据库日志语句
收缩SqlServer数据库日志SQL语句 USE[master] ALTER DATABASE XXX SET RECOVERY SIMPLE WITH NO_WAIT ALTER DATABASE ...
- golang json 字符串 用 json.Number 解析字段
不定义结构体,用map 解析json 字符串字段 func main() { jsonString := `{"age": 20, "height": 180 ...
- 【Linux】常用
查看端口占用 yum install lsof lsof -i:8080:查看8080端口占用 lsof abc.txt:显示开启文件abc.txt的进程 lsof -c abc:显示abc进程现在打 ...
- ntp子母钟(gps子母钟系统)时钟系统在智能交通系统中的重要性
ntp子母钟(gps子母钟系统)时钟系统在智能交通系统中的重要性 ntp子母钟(gps子母钟系统)时钟系统在智能交通系统中的重要性 技术交流:岳峰 15901092122 http://www.bjh ...
- 数位dp( tzoj6061:Bomb-求49个数;tzoj1427: 不要62)
6061:http://www.tzcoder.cn/acmhome/problemdetail.do?method=showdetail&id=6061 dfs记忆化搜索 #include& ...
- 02.java基础(一)java的基础、方法和数组
目录 Java基础 Java特性 Java程序运行机制 Java基础语法 1.数据类型 基本类型 引用类型 数据类型扩展 String类型内存分配过程 转义字符 类型转换 变量 常量 2.运算符 逻辑 ...