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脚本使用过程中遇到的问题及解决的更多相关文章

  1. Selenium2学习-018-WebUI自动化实战实例-016-自动化脚本编写过程中的登录验证码问题

    日常的 Web 网站开发的过程中,为提升登录安全或防止用户通过脚本进行黄牛操作(宇宙最贵铁皮天朝魔都的机动车牌照竞拍中),很多网站在登录的时候,添加了验证码验证,而且验证码的实现越来越复杂,对其进行脚 ...

  2. 将html代码部署到阿里云服务器,并进行域名解析,以及在部署过程中遇到的问题和解决方法

    本博客主要是说一下,,如何将html代码部署到阿里云服务器,并进行域名解析,以及在部署过程中遇到的问题和解决方法. 1.先在阿里云上购买一台阿里云服务器(ECS云服务器): 2.远程连接上该服务器,在 ...

  3. iOS 学习笔记二【cocopods安装使用和安装过程中遇到的问题及解决办法】【20160725更新】

    在osx 10.11之前cocopods问题不多,但是升级到11之后的版本,之前的cocopods大多用不了,需要重新安装,对于我这种使用测试版系统的技术狂来说,每次都需要重新安装很多东西, 当然,c ...

  4. Visual studio 2015 Community 安装过程中遇到问题的终极解决

    早就有给自己电脑升级VS的想法,可是安装过程并不顺利,一直拖到现在,昨天下定决心,把遇到的问题一个个解决,终于安装成功了,将安装过程中遇到的问题和解决方法记录一下. 需要说明一下的是,不同的电脑环境可 ...

  5. iOS cocopods安装使用和安装过程中遇到的问题及解决办法

    在osx 10.11之前cocopods问题不多,但是升级到11之后的版本,之前的cocopods大多用不了,需要重新安装,对于我这种使用测试版系统的技术狂来说,每次都需要重新安装很多东西, 当然,c ...

  6. 国内不fq安装K8S四: 安装过程中遇到的问题和解决方法

    目录 4 安装过程中遇到的问题和解决方法 4.1 常见问题 4.2 常用的操作命令 4.3 比较好的博客 国内不fq安装K8S一: 安装docker 国内不fq安装K8S二: 安装kubernet 国 ...

  7. 【原创】控制perl和python脚本执行过程中脚本文件是否关闭的方法

    引子 跟踪perl和python脚本对文件的访问,实际过程中,perl和python解析器在解析完脚本后,直接关闭了 脚本文件,在进程中查询不到是访问文件的脚本文件名称. shell.perl和pyt ...

  8. caffe安装过程中遇到的问题以及解决方法

    1. 在安装依赖库的时候,遇到: @gxjun-Latitude-E5440:~$ sudo apt-get install libatlas-base-dev 正在读取软件包列表... 完成 正在分 ...

  9. Tomcat启动过程中找不到JAVA_HOME解决方法

    在XP上明明已经安装了JDK1.5并设置好了JAVA_HOME,可偏偏Tomcat在启动过程中找不到. 报错信息如下:Neither the JAVA_HOME nor the JRE_HOME en ...

随机推荐

  1. 利用|,&amp;,^,~,&lt;&lt;,&gt;&gt;&gt;写出高效艺术的代码

    简单介绍: 大家在阅读源代码的时候常常会看到一些比方以下这样特别难理解的代码. cancelEvent.setAction(MotionEvent.ACTION_CANCEL | (motionEve ...

  2. fastjson常用操作

    一. fastjson生成json字符串(JavaBean,List<JavaBean>,List<String>,List<Map<String,Object&g ...

  3. error: No implicit Ordering defined for Any

    scala中经常遇到最头疼的问题,就是类型不匹配或者带Any,Option的提示错误信息. 最近碰到的是取最大值,但是明明已经Long类型的,却提示下面这个错误信息. 相关的源程序如下: // 获取o ...

  4. 面向对象设计原则三:里氏替换原则(LSP)

    里氏替换原则(LSP)定义:在任何父类出现的地方都可以用它的子类类替换,且不影响功能.解释说明:其实LSP是对开闭原则的一个扩展,在OO思想中,我们知道对象是由一系列的状态和行为组成的,里氏替换原则说 ...

  5. 学习:erlang正则

    一.re:run/3. ①.re:run("321321","2132",[caseless]).     {match,[{1,4}]} %% 返回值是 匹配 ...

  6. 10条建议帮助你创建更好的jQuery插件

    本文总结了帮助你创建更好jQuery插件的10条建议.分享给大家供大家参考.具体说明如下: 在开发过很多 jQuery 插件以后,我慢慢的摸索出了一套开发jQuery插件比较标准的结构和模式.这样我就 ...

  7. 应用开发之WinForm环境

    本章简言 上一章笔者讲到关于IO文件操作类,了解如何处理文件流.从这一章开始笔者将讲解相对比较高级的知识点.而本章笔者就对WinForm开发的知识点进行讲解和引导.现在很多业务都是面向于B/S模式的开 ...

  8. cocos中lua使用shader实例

    local prog = cc.GLProgram:create("res/shader/light2d.vsh","res/shader/light2d.fsh&quo ...

  9. smarty 总结和分析

    虽然smarty现在已经废弃不用,但是它的原理我们需要了解一下,这也是TP框架的一部分原理,它把前后端分离开,这样前端只需要写静态网页,后端只需要处理数据库和php文件就可以了,phpcms的思路也大 ...

  10. Eclipse 安装更多版本SDK

    暂时记下,实在没时间测试了... 安卓应用开发之查eclipse版本号和添加ADT.SDK https://jingyan.baidu.com/article/b0b63dbfc5f49b4a4830 ...