我用Python编写了以下脚本,该脚本用于查找包含两个或更多元音的单词,并将结果输出到txt文件。脚本当前正在运行,但输出文件为空。我尝试了几种不同的方法都没有用,知道为什么输出文件是空的吗?我使用(重新)导入将输入视为正则表达式。在
#!C:\Python33\python.exe
import re
file = open("Text of Steve Jobs' Commencement address (2005).htm");
output = open('twoVoweledWordList.txt', 'w');
for word in file.read():
if len(re.findall('[aeiouy]', word)) >= 2:
match == True;
while True :
output.write(word, '\n');
file.close()
output.close()
你要求一次读一个单词的更好的方法。给你:
评论:
file
是Python2.x中的内置,语法着色文本编辑器将用不同的颜色标记它。。。也可以使用f
作为变量名。在with
语句。这一点非常清楚,在Python的所有版本中,它确保在完成操作时正确关闭文件。(这里不重要,但这确实是一种最佳实践。)open()
返回可在for
循环中使用的对象。您将一次从文件中获得一行输入。在line.split()
使用任何“空白”(空格、制表符等)将行拆分为单词我不知道您是否见过生成器函数,但您可以将上面的双重嵌套
^{pr2}$for
循环打包成这样的生成器函数:我喜欢把机器藏起来。如果你想让分词变得更复杂,复杂的部分和实际处理单词的部分很好地分开了。在
虽然史蒂芬说得很好,但万一你更喜欢for循环:
使用
with
语句时,不必担心显式关闭文件。我相信y
不是元音。所以,我把它从我的答案中删除了。在相关问题 更多 >
编程相关推荐