Python 3函数多次打印相同的列表

时间:2018-06-24 17:14:48

标签: python python-3.x function

我需要此功能来打印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)

现在它一次又一次地打印相同的列表...我认为问题出在“ for”上,但我不知道如何解决。

2 个答案:

答案 0 :(得分:1)

这是您的代码在“优质Python”中的样子:

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

在这里使用正则表达式是可以的,尤其是在涉及非空格字符的情况下,但是words = line.split()更合适。

答案 1 :(得分:1)

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)