擅长:python、mysql、java
<p>如前所述,<a href="https://docs.python.org/3.7/library/re.html#re.findall" rel="nofollow noreferrer">^{<cd1>}</a>需要一个字符串,而您正在传递一个列表。解决这个问题的方法之一是遍历字符串列表(<code>netTraffic</code>),并构建一个所有匹配项的列表(<code>domainTraffic</code>)。我在下面展示了:</p>
<pre class="lang-py prettyprint-override"><code>with open('/Users/downloads/scripting_for_security/resources/top_100.txt') as f:
safeAdd = f.readlines(),
with open('/Users/downloads/scripting_for_security/resources/traffic_log.txt') as n:
netTraffic = n.readlines(),
#initialize empty list
domainTraffic = []
#iterate over each value and add matches to the list
for net in netTraffic:
domainTraffic.extend(re.findall(r'\s(?:www.)?(\w+.com)', str(net))
#Use list comprehension to filter out the safeAdds
filtered_list = [add for add in domainTraffic if add not in safeAdd]
print(filtered_list)
</code></pre>
<p>您还可以<a href="https://docs.python.org/3/library/stdtypes.html#str.join" rel="nofollow noreferrer">^{<cd4>}</a>将列表转换成一个长字符串,然后对组合的字符串运行<code>re.findall</code>。这真的取决于你的弦是什么。你知道吗</p>