页面导航: 首页脚本专栏python → 正文内容 Python

复制粘贴功能的Python程序

发布:dxy 字体:[增加 减小] 类型:转载
接下来,由于我觉得手动复制粘贴这29000条插入语句实在是太痛苦了,所以打算用Python来完成这项工作。这是我第一次自己动手写Python代码,感觉还挺顺利的。
今天因为给BeauBeau提供的抽奖号码做SQL文件,一开始收到ZIP文件解开压缩之后被吓到了——29个CSV文件,每个文件保存了1000个奖券ID和号码-_-!
照上次一样,打开每个CSV文件做先做单独的SQL文件,每个SQL中有1000条插入语句,随后将29个文件的所有SQL语句都复制粘贴到同一个总的SQL文件中。
CSV文件中的结构是“ID,NUMBER”的结构,其中ID是7位数字,NUMBER是11位数字。这样用正则式来进行捕捉的时候就比较方便了,在Eclipse的查找/替换功能中所使用的正则式就是“(\d{7}),(\d{11})”,进行替换的文本内容就是“INSERT INTO cards VALUES ('$1','$2',now());”。使用这种方法对29个CSV文件中的内容进行替换。

所有代码如下:

import sys, os 
def readFile(filename): 
    file=open(filename, "r") 
    s=file.read().strip() 
    file.close() 
    return s 
def writeFile(filename, files): 
    content=[] 
    for f in files: 
        print "reading file ' %s ' " % f 
        s=readFile(f) 
        print "read file ' %s ' completed" % f 
        content.append(s) 
    print "writing file ' %s ' " % filename 
    file=open(filename, "w") 
    file.write("\n/*-----This is a seperating line.-----*/\n".join(content)) 
    file.close() 
    print "write file ' %s ' completed" % filename 

filters=['.txt'] 
fullpath=os.getcwd(); 
print "opening directory: ' %s ' " % fullpath 
sys.path.append(fullpath) 
files = os.listdir(fullpath) 
files =[f for f in files if os.path.splitext(f)[1].lower() in filters] 
writeFile("beaunet_be_card.sql", files) 
程序的功能很简单,这也是我在Python的道路上迈出的第一步。
有时间的时候重写这段代码,加入正则替换功能
百度中搜索更多的关于复制粘贴功能的Python程序内容,或者用Google搜索相关更多
浏览次数:载入中... 打印本文关闭本文返回首页

文章评论

共有 位脚本之家网友发表了评论我来说两句

同 类 文 章
最 近 更 新
热 点 排 行