<p>好的,首先您需要识别<code>count = count + 1</code>。
有一个更好的方法:</p>
<pre><code>count += 1
</code></pre>
<p>现在你看不到任何输出仅仅因为你的程序从不停止。这是由<code>while 1:</code>引起的。你从来没有把一个条件,停止你的周期。你知道吗</p>
<p>要停止它,请使用<code>break</code>,如下所示:</p>
<pre><code>while 1:
pattern = x.readline()
if pattern == "":
break
if pattern == re.compile(r'^[A,a].'):
count += 1
</code></pre>
<p>有关文件读写的更多信息,请阅读<a href="https://docs.python.org/2/tutorial/inputoutput.html" rel="nofollow">docs</a>,或参阅下面的内容。你知道吗</p>
<p>那么,你的正则表达式不起作用了。。。我有一个不同的方法:当一个单词的第一个字母是其中一个时,它以“a”或“a”开头,所以:</p>
<pre><code>if pattern[0] == "A" or pattern[0] == "a":
count += 1
</code></pre>
<p>我认为逐行读取文件和您一样有点棘手,因此我建议您这样做:</p>
<pre><code>x = open("englishsorted.txt", "r")
count = 0
for line in x:
# do something with line, in your case:
if line[0] == "A" or line[0] == "a":
count += 1
</code></pre>
<p><strong>编辑</p>
<p>下面是正则表达式的解决方案:</p>
<pre><code>import re
x = open("englishsorted.txt", "r")
count = 0
for line in x:
if re.match("^[aA]", line):
count += 1
</code></pre>
<p><code>^</code>匹配字符串的开头,<code>[aA]</code>表示一组字符,与<a href="https://docs.python.org/2/library/re.html" rel="nofollow">docs</a>一致。你知道吗</p>