Python3函数多次打印相同的列表

Python3函数多次打印相同的列表,python,python-3.x,function,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 ra

我需要这个函数来打印
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”中,但我不知道如何解决它。

以下是您的代码在“good Python”中的外观:

在这里使用正则表达式是可以的,特别是当涉及非空格字符时,但是
words=line.split()
更合适

for line in raw: 
    print(line.split())
应该很好。。。您不需要重新拆分。。。只需使用
split

或者

for line in raw: 
    q=line.split()  # q is probably not a very appropriate variable name
    print(q)

由于
print(q)
不在循环中,因此它只打印
q
的最新值。我在这里极力反对正则表达式。。。但是耶+1(特别是现在关于变量名的附录:P)@JoranBeasley可能有一个自定义拆分的原因。但是,是的,我同意。我能想到的唯一好理由是,提供的正则表达式不是他实际使用的正则表达式……爱你们;)
for line in raw: 
    q=line.split()  # q is probably not a very appropriate variable name
    print(q)