Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何从文本文件中选择带有元音的特定单词?_Python_Text Files - Fatal编程技术网

Python 如何从文本文件中选择带有元音的特定单词?

Python 如何从文本文件中选择带有元音的特定单词?,python,text-files,Python,Text Files,到目前为止,这是我的代码。 我有6个文本文件,每个文件都有不同类型的单词 例如动词、形容词、名词、谁和写了什么,最后一个命名的是输出到哪里 我想这样做: 如果在名词中发现元音,则使用 或者如果在名词中找不到元音,则使用 但在代码中 在Python2.7.12中,如果不想使用spacy.io,可以使用下面的逻辑 # Beginning project import random while True: g = random.randrange(0,1042)#verbs h =

到目前为止,这是我的代码。 我有6个文本文件,每个文件都有不同类型的单词 例如动词、形容词、名词、谁和写了什么,最后一个命名的是输出到哪里

我想这样做: 如果在名词中发现元音,则使用 或者如果在名词中找不到元音,则使用

但在代码中
在Python2.7.12中,如果不想使用spacy.io,可以使用下面的逻辑

# Beginning project
import random

while True:
    g = random.randrange(0,1042)#verbs
    h = random.randrange(0,1435)#noun
    i = random.randrange(0,912) #adjective
    j = random.randrange(0,3)   #person
    k = random.randrange(0,2)   #what
    with open("verbs.txt","r") as z:
        verb = [x.strip().split(" ") for x in z.readlines()]
    with open("nouns.txt","r") as v:
        noun = [x.strip().split(" ") for x in v.readlines()]
    with open("adjectives.txt","r") as a:
        adject = [x.strip().split(" ") for x in a.readlines()]
    with open("person.txt","r") as b:
        who = [x.strip().split(" ") for x in b.readlines()]
    with open("what.txt","r") as c:
        what = [x.strip().split(" ") for x in c.readlines()]
file = open("written.txt","a")

output = (who[j] + verb[g] + what[k] + adject[i] + noun[h])
print(output)
file.write(str(output) + "\n")
但是,我猜,如果名词元音开头,而不是在中以元音开头,你可能会想在中加一个。如果是这种情况,您可以使用以下代码

nouns = ['ddd', 'ing', 'king']

for noun in nouns:
    output = 'so so'
    if any([letter in noun for letter in ['a', 'e', 'i', 'o', 'u']]):
        output += ' an ' + noun
    else:
        output += ' a ' + noun
    print output

你可以使用(Spacy)?那么你什么时候退出
while
循环?@Iron Fist我不想它只生成一个名为write.txt的文件,但是
当True
没有
break
表达式退出它时,它将永远运行?是的,完全没有break,只有ctrl c
for noun in nouns:
    output = 'so so'
    if any([noun.startswith(letter) for letter in ['a', 'e', 'i', 'o', 'u']]):
        output += ' an ' + noun
    else:
        output += ' a ' + noun
    print output