Как обрабатывать текстовые файлы в Python - PullRequest
0 голосов
/ 16 октября 2018

Я знаю, как открыть текстовый файл в Python.Но я не знаю, как обрабатывать этот текстовый файл и как извлечь данные из текстового файла с помощью Python.У меня есть имя файла words.txt, содержащее слова из словаря.Я вызываю этот файл и прошу пользователя ввести слово.Затем попробуйте выяснить, присутствует ли это слово в этом файле или нет, если да print True else Word not found.

wordByuser  = input("Type a Word:")
file = open('words.txt', 'r')

if wordByuser in file: #or if wordByuser==file:
    print("true")
else:
    print("No word found")

Файлы words.txt содержат каждую букву в одной строке, а затем новыйписьмо на второй строке.Некоторая часть words.txt ниже:

AB
ab-
ABA
Ababa
Ababdeh
Ababua
abac
abaca
abacay
abacas
abacate
abacaxi
abaci
abacinate
abacination
abacisci
abaciscus
abacist
aback
abacli
Abaco
abacot
abacterial
abactinal
abactinally
abaction
abactor
abaculi
abaculus
abacus
abacuses

Ответы [ 4 ]

0 голосов
/ 16 октября 2018

Сначала прочитайте file, также используйте snake_case https://www.python.org/dev/peps/pep-0008/

user_word  = input("Type a Word:")
with open('words.txt') as f:
    content = f.read()
    if user_word in content:
        print(True)
    else:
        print('Word not found')
0 голосов
/ 16 октября 2018

Эта функция должна делать это:

def searchWord(wordtofind):
    with open('words.txt', 'r') as words:
        for word in words:
            if wordtofind == word.strip():
                return True
    return False
0 голосов
/ 16 октября 2018

Вам просто нужно добавить .read() к классу файлов, который вы инициировали.

Например:

wordByuser  = input("Type a Word:")
file = open('words.txt', 'r')
data = file.read()
if wordByuser in data:
    print("true")
else:
    print("No word found")
0 голосов
/ 16 октября 2018

Используйте это однострочное решение:

lines = file.read().splitlines()
if wordByuser in lines:
    ....
...