<p>我有下面的路由器输出存储在一个文件中</p>
<pre><code>-#- --length-- -----date/time------ path
3 97103164 Feb 7 2016 01:36:16 +05:30 taas/NN41_R11_Golden_Image
4 1896 Sep 27 2019 14:22:08 +05:30 taas/NN41_R11_Golden_Config
5 1876 Nov 27 2017 20:07:50 +05:30 taas/nfast_default.cfg
</code></pre>
<p>我想从文件中搜索子字符串<code>'Golden_Image'</code>,并获取完整路径。所以这里,需要的输出是这个字符串:</p>
<pre><code>taas/NN41_R11_Golden_Image
</code></pre>
<p><strong>第一次尝试:</strong></p>
<pre><code>import re
with open("outlog.out") as f:
for line in f:
if "Golden_Image" in line:
print(line)
</code></pre>
<p>输出:</p>
<pre><code>3 97103164 Feb 7 2016 01:36:16 +05:30 taas/NN41_R11_Golden_Image
</code></pre>
<p><strong>第二次尝试</strong></p>
<pre><code>import re
hand = open('outlog.out')
for line in hand:
line = line.rstrip()
x = re.findall('.*?Golden_Image.*?',line)
if len(x) > 0:
print x
</code></pre>
<p>输出:</p>
<pre><code>['3 97103164 Feb 7 2016 01:36:16 +05:30 taas/NN41_R11_Golden_Image']
</code></pre>
<p>这些都不能提供所需的输出。我怎样才能解决这个问题?你知道吗</p>
<p>如果路径可以包含空格,那么这实际上是一个令人惊讶的复杂过程。<br/>
您需要使用maxsplit参数来<code>split</code>标识路径字段。你知道吗</p>
<pre><code>with open("outlog.out") as f:
for line in f:
field = line.split(None,7)
if "Golden_Image" in field:
print(field)
</code></pre>