0
我想解析每个类似于threadids的日志文件。可以配置任意数量的线程。所有线程都写入相同的日志文件,我正在解析日志文件并为每个线程创建特定的新文件,以便稍后检查它们。
下面我捕获列表中的threadids。
下面的代码是做这项工作,但我觉得这是不高效的。有什么更快的吗?更快地解析所有列表元素的文件,并根据列表元素分析到新文件
sThdiD = ["abc", "cde\"efg"]
folderpath = "newdir"
os.system("mkdir " + folderpath)
for line in open(filetoopen):
for i in sThdiD:
if i in line:
open(folderpath+"/"+i+".log","a+").write(line)
保留打开文件的列表,而不是每次在循环中调用打开 – jterrace
有多少个threadids?几千个同时打开的文件应该不是真正的问题(如果机器没有被占用)。 – extraneon
use subprocess.call not os.system;它更安全。你也应该把'open(folderpath +“/”+ i +“.log”,“a +”)。write(line)'改成'open(os.path.join(folderpath,i +“.log”),一个+“)。写(线)' – Ben