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 ...
随机推荐
- alsamixer + alsactl 控制放音通道
1 使用alsamixer的gui界面配置放音(控制OUT1,OUT2的音量); 2 退出alsamixer,使用alsactl store生成配置文件,文件位于/etc/asound.state; ...
- oracle查询数据库最大连接数等信息
.当前的数据库连接数 select count(*) from v$process where program='ORACLE.EXE(SHAD)'; .数据库允许的最大连接数 select valu ...
- Memcached内存分配及使用问题
在启动memcached的时候可以加-f参数和-n参数.-f指定各slab里面chunk大小的变化比例,默认1.25,-n指定slab里面chunk大小从多少开始.使用memcache_add($me ...
- sudo非交互式输入密码
sudo非交互式输入密码 编辑 删除 我们在使用sudo命令的时候,为了避免交互,可以使用 echo 'password' |sudo -S cmd 这样的方式,通过管道传入密码,就不用手动输入了. ...
- ubuntu boot空间不足的解决方法
ubuntu boot空间不足的解决方法 2013年12月11日 11:11:39 yypony 阅读数:17000 标签: ubuntu内存boot内核更多 个人分类: linux_usageubu ...
- Java中float/double取值范围与精度
Java浮点数 浮点数结构 要说清楚Java浮点数的取值范围与其精度,必须先了解浮点数的表示方法,浮点数的结构组成,之所以会有这种所谓的结构,是因为机器只认识01,你想表示小数,你要机器认识小数点这个 ...
- c++开发之对应Linux下的sem_t和lock
http://www.cnblogs.com/P_Chou/archive/2012/07/13/semaphore-and-mutex-in-thread-sync.html http://blog ...
- 当springMVC 容器初始化完成后执行某个方法
分类: spring java2013-06-19 16:40 8289人阅读 评论(4) 收藏 举报 在某些应用中,我们希望,当spring 容器将所有的bean都初始化完成后,做一个操作(例如:将 ...
- react-native新导航组件react-navigation详解
http://blog.csdn.net/sinat_17775997/article/details/70176688
- 从WebView跳到普通View
本文转载至 http://pingguohe.net/2011/06/25/webview_to_nativeview/ 做网络ios应用难免要用到UIWebViewController,直接嵌入一个 ...