generateScriptFile.py脚本使用过程中遇到的问题及解决
generateScriptFile.py脚本
#!/usr/bin/env python
# -*- coding: utf-8 -*- """
use case:
python ./generateScriptFile.py
""" import MySQLdb
import sys
import os
from lxml import etree #IP=sys.argv[1]
IP="10.0.20.252"
DIR="ScriptsDir"
try:
print "connect to database..."
acheron_db=MySQLdb.connect(IP,"root","Free-Wi11","acheron_db")
except Exception as e:
print e.message
print "Can't connect to "+IP
exit(1)
print "Done..."
print "Ready to read data from database..."
acheron_db_cursor=acheron_db.cursor() sqlCMD="select Description,TestScript from Script where Class='System'"
acheron_db_cursor.execute(sqlCMD)
content=acheron_db_cursor.fetchall()
if len(content)==0:
print "no data obtained"
exit(1)
if os.path.exists(DIR):
os.system("RD /S /Q " + DIR)
os.system("mkdir "+DIR)
for item in content:
file_name=item[0]
if len(file_name)==0:
print item
continue directory=item[0].split(".")[0]
if len(directory)==0:
print item[0]
continue
if not os.path.exists(DIR+"\\"+directory):
os.system("mkdir "+DIR+"\\"+directory)
try:
f=open(DIR+"\\"+directory+"\\"+file_name+".xml","w")
root=etree.fromstring(item[1])
f.write("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
f.write(etree.tostring(root))
#f.write(etree.tostring(root,xml_declaration=True,encoding='UTF-8'))
f.close()
except Exception as e:
print file_name
print e.message
print "Failed, please retry..."
break
print "See scripts data file in '"+DIR+"'"
print "Done"
装Python的依赖库
安装MySQLdb
http://www.codegood.com/download/11/
下载:MySQL-python-1.2.3.win-amd64-py2.7.exe
点击安装
Python 2.7.13 (v2.7.13:a06454b1afa1, Dec 17 2016, 20:53:40) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import MySQLdb
>>>
安装lxml
安装lxml之前,先安装pip,然后借助pip来安装lxml
下载pip:https://pypi.python.org/pypi/pip#downloads%20%EF%BC%9A

pip的安装步骤:
进入解压后的pip文件夹下,可以看到有setup.py

下载完成之后,解压到一个文件夹里,用cmd控制台进入解压目录,然后输入:python setup.py install
安装好后,在PATH中添加环境变量:C:\Python27\Scripts;
然后就可以使用pip命令了,使用pip list查看使用pip安装的依赖包:

安装完pip后,就可以使用pip来安装lxml依赖了:
使用pip install lxml,安装完成。
然后修改脚本
原先的脚本是能正常运行在linux环境中的,但是目前要移植到windows 64位环境中使用:
1.f=open(DIR+"/"+directory+"/"+file_name+".xml","w") 改为 f=open(DIR+"\\"+directory+"\\"+file_name+".xml","w")
2.linux下使用的命令,如删除命令要改为windows下的命令:os.system("RD /S /Q " + DIR)
Windows强制删除文件及文件夹命令
RD /S /Q 文件夹名 : 强制删除文件夹文件以及文件夹中的所有文件
DEL /F /A /Q 文件夹名:强制删除文件夹及文件夹下的所有文件,并且不给提示
如果要删除文件,则必须给出文件的后缀名。
generateScriptFile.py脚本使用过程中遇到的问题及解决的更多相关文章
- Selenium2学习-018-WebUI自动化实战实例-016-自动化脚本编写过程中的登录验证码问题
日常的 Web 网站开发的过程中,为提升登录安全或防止用户通过脚本进行黄牛操作(宇宙最贵铁皮天朝魔都的机动车牌照竞拍中),很多网站在登录的时候,添加了验证码验证,而且验证码的实现越来越复杂,对其进行脚 ...
- 将html代码部署到阿里云服务器,并进行域名解析,以及在部署过程中遇到的问题和解决方法
本博客主要是说一下,,如何将html代码部署到阿里云服务器,并进行域名解析,以及在部署过程中遇到的问题和解决方法. 1.先在阿里云上购买一台阿里云服务器(ECS云服务器): 2.远程连接上该服务器,在 ...
- iOS 学习笔记二【cocopods安装使用和安装过程中遇到的问题及解决办法】【20160725更新】
在osx 10.11之前cocopods问题不多,但是升级到11之后的版本,之前的cocopods大多用不了,需要重新安装,对于我这种使用测试版系统的技术狂来说,每次都需要重新安装很多东西, 当然,c ...
- Visual studio 2015 Community 安装过程中遇到问题的终极解决
早就有给自己电脑升级VS的想法,可是安装过程并不顺利,一直拖到现在,昨天下定决心,把遇到的问题一个个解决,终于安装成功了,将安装过程中遇到的问题和解决方法记录一下. 需要说明一下的是,不同的电脑环境可 ...
- iOS cocopods安装使用和安装过程中遇到的问题及解决办法
在osx 10.11之前cocopods问题不多,但是升级到11之后的版本,之前的cocopods大多用不了,需要重新安装,对于我这种使用测试版系统的技术狂来说,每次都需要重新安装很多东西, 当然,c ...
- 国内不fq安装K8S四: 安装过程中遇到的问题和解决方法
目录 4 安装过程中遇到的问题和解决方法 4.1 常见问题 4.2 常用的操作命令 4.3 比较好的博客 国内不fq安装K8S一: 安装docker 国内不fq安装K8S二: 安装kubernet 国 ...
- 【原创】控制perl和python脚本执行过程中脚本文件是否关闭的方法
引子 跟踪perl和python脚本对文件的访问,实际过程中,perl和python解析器在解析完脚本后,直接关闭了 脚本文件,在进程中查询不到是访问文件的脚本文件名称. shell.perl和pyt ...
- caffe安装过程中遇到的问题以及解决方法
1. 在安装依赖库的时候,遇到: @gxjun-Latitude-E5440:~$ sudo apt-get install libatlas-base-dev 正在读取软件包列表... 完成 正在分 ...
- Tomcat启动过程中找不到JAVA_HOME解决方法
在XP上明明已经安装了JDK1.5并设置好了JAVA_HOME,可偏偏Tomcat在启动过程中找不到. 报错信息如下:Neither the JAVA_HOME nor the JRE_HOME en ...
随机推荐
- 三、thinkphp
'URL_PATHINFO_DEPR'=>'-',//修改URL的分隔符 'TMPL_L_DELIM'=>'<{', //修改左定界符 'TMPL_R_DELIM'=>'}&g ...
- asp.net曲线图
highcharts的曲线图控件真的很强大,自己研究了下,做了一个简单的,给自己留个备忘,希望能帮到需要的朋友 Dome下载:http://files.cnblogs.com/linyijia/asp ...
- Streams:深入剖析Redis5.0全新数据结构
Streams:深入剖析Redis5.0全新数据结构 原创: 阿飞的博客 Redis 5.0 全新的数据类型:streams,官方把它定义为:以更抽象的方式建模日志的数据结构.Redis的st ...
- Python+selenium之简单介绍unittest单元测试框架
Python+selenium之简单介绍unittest单元测试框架 一.unittest简单介绍 unittest支持测试自动化,共享测试用例中的初始化和关闭退出代码,在unittest中最小单元是 ...
- ios 从URL中截取所包含的参数,并且以字典的形式返回和参数字典转URL
//字典转链接(参数) - (NSString *)keyValueStringWithDict:(NSDictionary *)dict { if (dict == nil) { return ni ...
- JavaScript 一、 ES6 声明变量,作用域理解
// JavaScript/* * ========================================================= * * 编译原理 * 尽管通常将 JavaScr ...
- iOS开发之 -- 获取设备的唯一标示符
各种获取设备唯一标识的方法介绍 一.UDID(Unique Device Identifier) UDID的全称是Unique Device Identifier,它就是苹果iOS设备的唯一识别码,它 ...
- swift - SQLite数据库的使用(引用)
SQLite轻量级数据库在移动应用中使用非常普遍,但是目前的库是C编写的,为了方便使用,对SQLite相关的操作用Swift进行了封装.这个封装代码使用了一个开源项目SQLiteDB,地址是:http ...
- 自定义控件_StickyNavLaout
关注我一.View结构原理1.extends linearLayout 继承想要用的布局,首先完成布局的填充在 onFinishInflate 方法中 findViewById(); @Overrid ...
- 面试题思考:web中关于一些容器基本概念的简单总结
关键字:应用服务器.web服务器.web容器.jsp容器.servlet容器. 1.应用服务器: 作为应用程序服务器,要求可以通过各种协议(包括 HTTP 协议)把商业逻辑暴露给(expose)客户端 ...