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 文件夹名:强制删除文件夹及文件夹下的所有文件,并且不给提示

如果要删除文件,则必须给出文件的后缀名。

posted @ 2017-12-04 14:44  起床oO  阅读(433)  评论(0编辑  收藏  举报