1

我能够在这里的社区的帮助下编写一些代码,但是我遇到了一个问题,即我的 python 运行迭代并且写出的速度真的很慢,就像我的另一个脚本一样,它做同样的事情,但是一个跑了超级快,这段代码中是否有任何明显的原因可能导致这种情况?

with open('c:/file.sql') as inf, open('c:/file.txt','w') as outf:
    for i in xrange(47):
        inf.next()       

    for line in inf:
        data = line.split(',')
        if len(data) < 15:
            inf.next()
        elif len(data) > 35:      
            hash = data[13]
            select = hash[3:len(hash)-1]
            outf.write(select + '\n')
4

2 回答 2

3

您的代码的较小版本:

from itertools import imap, islice
with open('c:/file.sql') as inf, open('c:/file.txt','w') as outf:
    for line in imap(str.strip, islice(inf, 47, None)):
        data = line.split(',')
        if len(data) > 35:
            hash = data[13]
            select = hash[3:-1]
            outf.write(select+'\n')
于 2012-06-27T17:04:46.980 回答
0

所以考虑到评论......我认为这可能是你想要的:

with open('c:/file.sql') as inf, open('c:/file.txt','w') as outf:
    for line in itertools.islice(inf, 47, None):
        data = line.split(',')
        if len(data) > 35:      
            outf.writeline(data[13][3:-1])
于 2012-06-27T17:13:14.457 回答