在文本文件中查找字符串的函数(Python)

时间:2018-11-12 15:23:31

标签: python text-files

我正在尝试编写一个函数,在该函数中在文本文件中搜索输入字符串(文本文件包含英语单词列表,全部用小写字母表示)。 输入的字符串可以全小写,大写或首字母大写,其余小写。

到目前为止,我已经知道了,但是它不能完全正常工作,我不确定该怎么办。

def is_english_word( string ):
    with open("english_words.txt", "r") as fileObject:

        if string in fileObject.read():
            return(True)

        newstring = string

        if newstring[0].isupper() == True:
            newstring == string.lower()

        if newstring in fileObject.read():
            return(True)

2 个答案:

答案 0 :(得分:1)

尝试一下:

def is_english_word(string):
    with open("english_words.txt", "r") as fileObject:
        text = fileObject.read()
        return string in text or (string[0].lower() + string[1:]) in text

答案 1 :(得分:1)

您有一个缩进问题:with语句必须在def中是一个缩进:

def is_english_word( string ):
    with open("english_words.txt", "r") as fileObject:

        if string.istitle() or string.isupper():
           return string.lower() in fileObject.read()
        else:
           return string in fileObject.read()

无需检查输入字符串的所有可能情况,只需将其全部小写并进行检查即可。