Python错误代码:';列表没有属性';txt';
我试图调用一个函数-将语料库写入文件,但是当我运行程序时,我得到错误代码“Attribute error:List没有属性”txt“。我是python初学者,有人能帮我吗 职能:Python错误代码:';列表没有属性';txt';,python,Python,我试图调用一个函数-将语料库写入文件,但是当我运行程序时,我得到错误代码“Attribute error:List没有属性”txt“。我是python初学者,有人能帮我吗 职能: def write_corpus_to_file(mycorpus, myfile): f = open(myfile, 'w') newcorpus = ''.join(mycorpus) f.write(newcorpus) f.close() 主回
def write_corpus_to_file(mycorpus, myfile):
f = open(myfile, 'w')
newcorpus = ''.join(mycorpus)
f.write(newcorpus)
f.close()
主回路部分:
elif user_input=="a":
addseq = input("Enter new input to corpus ")
tidy_text(addseq)
extcorpus = corpus.extend(addseq)
write_corpus_to_file(extcorpus, corpus.txt)
您忘记将文件名放在引号中:
write_corpus_to_file(extcorpus, "corpus.txt")
如果没有引号,python会按字面意思获取corpus.txt
,并尝试访问名为corpus
的变量的txt
属性。这当然不存在,因此存在错误
此外,还有一项建议。与此相反:
f = open(myfile, 'w')
f.write(newcorpus)
f.close()
这样做:
with open(myfile, 'w') as f:
f.write(newcorpus)
此方法确保资源被正确释放,并且即使发生错误,文件也被正确写入和关闭
编辑:扩展
,与对列表进行操作的其他功能一样,都可以正常工作。这意味着它修改列表,而不返回新列表。因此,当您执行extcorpus=corpus.extend(addseq)
时,extcorpus
不会被赋予任何值,因为extend
不会返回任何内容
按如下方式更改代码:
elif user_input=="a":
addseq = input("Enter new input to corpus ")
tidy_text(addseq)
corpus.extend(addseq)
write_corpus_to_file(corpus, "corpus.txt")
您忘记将文件名放在引号中:
write_corpus_to_file(extcorpus, "corpus.txt")
如果没有引号,python会按字面意思获取corpus.txt
,并尝试访问名为corpus
的变量的txt
属性。这当然不存在,因此存在错误
此外,还有一项建议。与此相反:
f = open(myfile, 'w')
f.write(newcorpus)
f.close()
这样做:
with open(myfile, 'w') as f:
f.write(newcorpus)
此方法确保资源被正确释放,并且即使发生错误,文件也被正确写入和关闭
编辑:扩展
,与对列表进行操作的其他功能一样,都可以正常工作。这意味着它修改列表,而不返回新列表。因此,当您执行extcorpus=corpus.extend(addseq)
时,extcorpus
不会被赋予任何值,因为extend
不会返回任何内容
按如下方式更改代码:
elif user_input=="a":
addseq = input("Enter new input to corpus ")
tidy_text(addseq)
corpus.extend(addseq)
write_corpus_to_file(corpus, "corpus.txt")
myfile
应该是字符串,而不是变量名。所以corpus.txt
应该是“corpus.txt”
myfile
应该是字符串,而不是变量名。所以corpus.txt
应该是“corpus.txt”
谢谢!然而,当我这样做的时候,我得到了另一个错误代码:TypeError:只能加入一个iterableThank you!然而,当我这样做时,我得到了另一个错误代码:TypeError:只能加入一个iterable