擅长:python、mysql、java
<blockquote>
<pre><code>for filename in filetag.findall('../{*}filename'):
</code></pre>
</blockquote>
<p>由于<code>..</code>,这将在<code>file</code>元素的<em>父元素</em>中查找<code>filename</code>(即,作为<code>file</code>的兄弟元素)。它应该是一个<code>.</code></p>
<p>此外,在Python3.8中添加了<em>名称空间</em>通配符。您没有指明正在使用哪个Python版本,因此这可能也是一个问题</p>
<p>无论如何,您最好“正确地”使用名称空间,而不是寻找快捷方式,这有点冗长,但几乎不难</p>
<pre class="lang-py prettyprint-override"><code>NS = {'scp': 'http://winscp.net/schema/session/1.0'}
for filetag in root.findall('.//scp:file', NS):
for filename in filetag.findall('./scp:filename', NS):
if ".tar" in filename.get('value', ''):
print(filename)
dates.append(filename)
</code></pre>