Home > Backend Development > Python Tutorial > 复制粘贴功能的Python程序

复制粘贴功能的Python程序

WBOY
Release: 2016-06-06 11:26:35
Original
2310 people have browsed it

今天因为给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的道路上迈出的第一步。

有时间的时候重写这段代码,加入正则替换功能
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template