Heim >Backend-Entwicklung >Python-Tutorial >复制粘贴功能的Python程序

复制粘贴功能的Python程序

WBOY
WBOYOriginal
2016-06-06 11:26:352313Durchsuche

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

有时间的时候重写这段代码,加入正则替换功能
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Python 可爱的大小写Nächster Artikel:Python 除法小技巧