Python 3.6从文本文件中删除不以元音开头的单词
我正在学习Python 3.6。我想知道如何从文本文件中删除不以读入元音开头的单词。我已经有一个名为Python 3.6从文本文件中删除不以元音开头的单词,python,Python,我正在学习Python 3.6。我想知道如何从文本文件中删除不以读入元音开头的单词。我已经有一个名为someStates.txt的文本文件,所以我现在不必从路径中读取 当我运行代码时,我得到了未定义的someState.txt。我希望输出创建一个包含不以元音开头的单词的文本文件 我做错了什么 infile = open('someStates.txt', 'r') infile.close() vowels = ('a', 'e', 'i', 'o', 'u','y','A','E','I',
someStates.txt
的文本文件,所以我现在不必从路径中读取
当我运行代码时,我得到了未定义的someState.txt
。我希望输出创建一个包含不以元音开头的单词的文本文件
我做错了什么
infile = open('someStates.txt', 'r')
infile.close()
vowels = ('a', 'e', 'i', 'o', 'u','y','A','E','I','O','u','Y')
filteredStates.txt = [state
for state in someStates.txt
if state[0].rstrip().lower()
not in vowels]
infile = open('filteredStates.txt','w')
infile.close()
print( 'infile')
这不是它的工作原理;)
open()
返回一个文件对象:
然后,可以使用data=infle.read()
从文件对象将数据转换为字符串变量。(请在关闭文件之前执行此操作。)
然后需要使用words=data.split()
将字符串拆分为单词。只有在这之后,你才能循环单词。''
我是新来的,这里有很多建议,这就是我得到的
'''
变量名中不能有
。只需使用filteredStates
。在完成读取之前,不要关闭infle
文件对象someStates.txt
不是打开文件对象的变量名,它只是文件名。您想使用infle
而不是someStates.txt
,并在循环后关闭文件。为什么元音中有Y
?而且u
两次放在小写字母中
infile = open('someStates.txt', 'r')
infile.close()
for state in someStates.txt
#input
infile = open('someStates.txt', 'r') # read in a text file frome my directory
#process
filterState=[line.rstrip() for line in infile]
infile.close()
vowels = ('a', 'e', 'i', 'o', 'u','y','A','E','I','O','U','Y')
filterState=[state for state in filterState
if state[0].rstrip().lower()
not in vowels]
infile.close()
#output
print(filterState)