擅长:python、mysql、java
<p><code>log.readlines()</code>将文件内容读入行列表中。可以直接遍历该文件以避免出现额外的列表。在</p>
<pre><code>downloadsByExtensionCount = defaultdict(int)
downloadsByExtensionList = []
logFiles = ['file1.log', 'file2.log', 'file3.log', 'file4.log']
for logFile in logFiles:
# closes the file after the block
with open(logFile, 'r', encoding='utf-8') as log:
# just iterate over the file
for logLine in log:
date, time, c_ip, cs_method, s_port, cs_uri_stem, cs_user_agent = logLine.split(" ")
downloadsByExtensionCount[cs_uri_stem] += 1
# tuples are enough to store the data
downloadsByExtensionList.append((date, time, c_ip, cs_method, s_port, cs_uri_stem, cs_user_agent))
</code></pre>