<p>当Python解释器运行<code>FullFilesList=()</code>行时,它将创建一个新的空元组,并将名称<code>FullFilesList</code>绑定到它。元组是不可变的,它们在创建之后不能被更改,所以不能太多地使用这个变量。相反,听起来你想要一份清单。要创建空列表,请使用为<code>ListB</code>:<code>FullFilesList=[]</code>创建列表时使用的相同语法</p>
<p>但你会遇到另一个问题。当您想将值添加到<code>FullFilesList</code>时,您将它们分配给一个尚不存在的索引。那不行。如果要将每个值附加到列表的末尾,请改用<code>list.append</code>方法(同样,就像您在第一个循环中对<code>ListB</code>所做的那样)。在</p>
<p>代码中还有一些小的地方可以改进。我要指出的两个是命名约定和<code>with</code>语句。常规变量名的Python约定是使用<code>lowercase_names_with_underscores</code>。限制<code>CapitalizedNames</code>用于类,除非您遵循使用其他约定的现有API。您可以在<a href="https://www.python.org/dev/peps/pep-0008/" rel="nofollow noreferrer">PEP 8</a>中阅读有关Python样式建议的更多信息。请注意,这是Python解释器本身的风格指南,并不是所有Python项目都遵循它来编写自己的代码(但很多项目都这么做了!)。在</p>
<p>我的另一个建议是确保你的文件在处理完之后被关闭。在您当前的代码中,您经常<code>open</code>对一个文件调用<code>readlines</code>方法,然后在不调用<code>close</code>的情况下删除它。由于文件对象将被垃圾回收,并且它将作为该过程的一部分关闭,因此通常可以正常工作。但它不能保证以这种方式工作(Python语言对何时进行垃圾收集没有强有力的保证)。更好的方法是使用<code>with</code>语句确保文件是自己关闭的:</p>
<pre><code>with open(filename) as f:
contents = f.readlines()
# the file is closed automatically when you exit the with block (you can still use contents)
</code></pre>