从Script表中取出Description字段作为文件名,并按协议将脚本归位相同的文件夹,取TestScript字段的内容写入文件

import MySQLdb
import sys
import os
from lxml import etree IP=sys.argv[1]
#IP="10.0.20.252"
DIR="ScriptsDir"
try:
print "connnect to database...."
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......"
db_cursor=db.cursor() sql="select Description,TestScript from Script where Class='System'"
db_cursor.execute(sql)
content=db_cursor.fetchall()
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
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.close()
except Exception as e:
print e.message
print "Failed,please retry...."
break;
print "See Scripts data file in '" + DIR + "'"
print "Done"

执行结果:

从10.0.10.33上的mybatis数据库中将user表中的数据取出并存到本地user.txt文件夹下

看下user表:

import MySQLdb

#IP=sys.argv[1]
IP="10.0.10.33"
FileName="user.txt"
try:
print "connnect to database...."
db=MySQLdb.connect(IP,"root","","mybatis")
except Exception as e:
print e.message
print "Can't connect to " + IP
exit(1) print "Done...."
print "Ready to read data from DataBase......"
db_cursor=db.cursor()
sql="select * from users"
db_cursor.execute(sql)
content=db_cursor.fetchall()
f=open(FileName,"w")
for item in content:
try:
# root=etree.fromstring(item[1])
f.write("id: " + str(item[0]) +" name: " + item[1] + " age:" + str(item[2]))
f.write("\r")
except Exception as e:
print e.message
print "Failed,please retry......"
break
f.close()
print "See user list in '" + FileName + "'"
print "Done"

执行结果:

C:\Python27\python.exe G:/web2py/web2py_win/web2py/applications/pythonMySQLdb/pythonMySQL.py
connnect to database....
Done....
Ready to read data from DataBase......
See user list in 'user.txt'
Done Process finished with exit code 0

Python脚本连接数据库读取特定字段保存在文件中的更多相关文章

  1. 【Python语言】--Crontab结合Python脚本实现将日志每天写入到文件中

    一.前述 实际工作中将Python脚本每天定时写入到日志文件中的使用场景还是蛮多的,有很多种方法可以实现这种效果.本文选择一种方式实现,特将实现细节做如下分享,不当之处烦请指正. 二.具体 1.pyt ...

  2. 如何优雅地将printf的打印保存在文件中?

    我们都知道,一般使用printf的打印都会直接打印在终端,如果想要保存在文件里呢?我想你可能想到的是重定向.例如: $ program > result.txt 这样printf的输出就存储在r ...

  3. 利用POI抽取word中的图片并保存在文件中

    利用POI抽取word中的图片并保存在文件中 poi.apache.org/hwpf/quick-guide.html 1.抽取word doc中的图片 package parse; import j ...

  4. Python配合BeautifulSoup读取网络图片并保存在本地

    本例为Python配合BeautifulSoup读取网络图片,并保存在本地. BeautifulSoup可代替正则表达式,更好地解析Html文本,获取其中的指定内容,如Tag.Property等 # ...

  5. win下python脚本以unix风格换行保存将会报错为编码问题 SyntaxError: encoding problem:gbk

    utf-8与gbk编码都报错 从别人的github拉下来一个python脚本. 直接运行,python报错如下: File ".\drag_files_do_event.py", ...

  6. 使用2种python脚本工具将2个txt文档中的文字进行比较,并计算出Corr, WER正确率,准确率

    一.准备: linux服务器,src2mlf.py   rec2mlf.py   HResults文件,1份源文件和1份需要对比的文件.文件放置于本人云盘 二.使用方法: 1. 对比工具 HResul ...

  7. 使用 python 把一个文件生成 C 语言中的数组并保存到头文件中

    (一)要做什么 之前有这么一个需求,是要把一个二进制文件里面的数据,转换成 C 代码里面的数组,可以看之前的一篇文章: NUC980 运行 RT-Thread 驱动 SPI 接口 OLED 播放 ba ...

  8. 简单python脚本,将jupter notebook的ipynb文件转为pdf(包含中文)

    直接执行的python代码ipynb2pdf.py 主要思路.将ipynb文件转成tex文件,然后使用latex编译成pdf.由于latex默认转换不显示中文,需要向tex文件中添加相关中文包. 依赖 ...

  9. C0302 将一个代码块中的内容保存在文件中, 查看一个rpm包是否可以安装

    #!/bin/bash # 这个脚本是用来描述和确认是否可以安装一个rpm包 # 在一个文件中保存输出 SUCCESS=0 E_NOARGS=65 if [ -z "$1" ] t ...

随机推荐

  1. C语言 · 复数四则运算

    算法提高 6-17复数四则运算   时间限制:1.0s   内存限制:512.0MB      设计复数库,实现基本的复数加减乘除运算. 输入时只需分别键入实部和虚部,以空格分割,两个复数之间用运算符 ...

  2. 网页抓取信息(php正則表達式、php操作excel)

    1.问题描写叙述 实现对固定网页上自己须要的信息抓取,以表格形式存储. 我是拿wustoj上的一个排行榜来练习的,地址:wustoj 2.思路 网页自己就简单学习了一下php,刚好用它来做点事情吧,我 ...

  3. php 的rabbitmq 扩展模块amqp安装

    php 的rabbitmq 扩展模块amqp安装 2017年10月08日 10:34:22 阅读数:240 使用PHP开发,要使用中间队列rabbitmq, 必须要安装PHP的扩展模块amqp, 服务 ...

  4. js生成唯一的uuid

    ---恢复内容开始--- 在做项目的时候出现这样的一种情况,需要动态生成唯一的uuid,刚开始我的思路是这样的,我可以根据时间来做,然后出现了下面的思路: var uuid = "cms&q ...

  5. struts2 OGNL ValueStack概念理解 # % $ 的区别

    http://blog.csdn.net/tjujacob/article/details/8117659 —————————————————————————————————————————————— ...

  6. boost 互斥体和锁

    1.共享资源是一个自动锁住的房间,互斥体是钥匙,进入房间必须取钥匙,离开房间应该还钥匙.这就对应着互斥体的lock(取钥匙)和unlock(还钥匙). 2.考虑下面的场景:还钥匙的时候出现异常,会发生 ...

  7. 采用预取(Prefetch)来加速你的网站(转)

    一.DNS预取 如果你像我一样想在网站上有一个Twitter小程序,还有网站分析,再也许一些网页字体,那么你必须要链接到一些其它域名,这意味着你将不得不引发DNS查询.我的建议通常是,不要还没有先适当 ...

  8. error C2678: 二进制“+”: 没有找到接受“const char [22]”类型的左操作数的运算符(或没有可接受的转换)没有与这些操作数匹配的“+”运算符

    错误:没有与这些操作数匹配的“+”运算符,操作数类型为const char [20]+CString 分析原因:其提示操作数类型为const char [20]+CString 可见是类型有问题 故加 ...

  9. sap screen design

    定义屏幕:     SAP 系统中的屏幕包含:         标准屏幕:         选择屏幕:         列表输出屏幕: 1. 标准屏幕必须隶属于一个类型为 L, M 或 F 的ABAP ...

  10. Hadoop1.2.1 HDFS原理

    基本以图片的形式呈现给大家: .