Функция Python 3 печатает один и тот же список много раз - PullRequest
0 голосов
/ 24 июня 2018

Мне нужна эта функция, чтобы напечатать список предложений из файла tastiera.txt

def frasi_da_file():
    arg1 = input ("percorso file: ")
    arg2 = input("codifica: ")
    if arg1 == "tastiera.txt" and arg2 == "latin1":
        f = open("tastiera.txt")
        raw = f.read()
        for line in raw: 
            q = re.split("\s+", raw)
        print (q)

Теперь он печатает одни и те же списки снова и снова ... Я думаю, что проблема в«но я не знаю, как это решить.

Ответы [ 2 ]

0 голосов
/ 24 июня 2018
for line in raw: 
    print(line.split())

должно работать нормально ... вам не нужно re.split ... просто используйте split

альтернативно

for line in raw: 
    q=line.split()  # q is probably not a very appropriate variable name
    print(q)
0 голосов
/ 24 июня 2018

Вот как будет выглядеть ваш код в "хорошем Python":

with open("tastiera.txt") as f:
    for line in f: 
        words = re.split("\s+", line) # words, not q!
        print(words)

Здесь можно использовать регулярные выражения, особенно если используются непробельные символы, но words = line.split()более уместно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...