为什么log文件中写入的都是None...(几十万个),而不是我想要的结果!
数据量小(一千多个)还可以正常运行,上万条数据后就在log文件中写入上万个None,求助大神指点!!!
import os
date = '20170922'
date_yes= str(date)
local = ('dir')
filelist = os.listdir(local + date_yes + '/')
log = open(local + date_yes + '.log', 'w')
def scanner(filename):
res = os.popen("./FMTScanner -c config.ini -f ./%s/%s"% (date_yes,filename))
lines = res.readlines()
s = 'unknown data'
for line in lines:
if s in line:
return line
else:
pass
def write(result):
log.write(result)
def main():
pool = Pool(12)
for file in filelist:
pool.apply_async(scanner,args = (file,),callback = write)
pool.close()
pool.join()
log.close()
if __name__ =='__main__':
main()
已经解决了,callback获取scanner的返回值为空,scanner中for循环没有正确返回输出结果!