擅长:python、mysql、java
<p>请改为测试布尔真值,并反转测试,以便您确定<code>.split()</code>将首先工作,<code>None.split()</code>将引发异常:</p>
<pre><code>if category is not None and category.split(",")[0]:
</code></pre>
<p>空字符串是'false-y',没有必要对它进行任何测试。在</p>
<p>你甚至可以测试一下:</p>
^{pr2}$
<p>为了同样的结果。在</p>
<p>从评论来看,你的数据中似乎出现了新行。测试时请将其剥离:</p>
<pre><code>for category in lastReadCategoriesList:
category = category.rstrip('\n')
if category and not category.startswith(','):
lastReadCategories.write(category + '\n')
print(category)
else: print("/{}/".format(category))
</code></pre>
<p>请注意,您可以在循环中简单地修改<code>category</code>;这避免了多次调用<code>.rstrip()</code>。在</p>