如何使用for循环编写多个文件?

时间:2016-04-03 12:09:24

标签: python file for-loop beautifulsoup

您好我想创建名为file1.txt,file2.txt,...等的文件。我收到了限制错误。我需要在代码中做些什么才能使其正常工作?

from bs4 import BeautifulSoup

f = open('reut2-000.sgm', 'r')
data= f.read()
soup = BeautifulSoup(data, "html.parser")

contents = soup.findAll('body')
for i, content in contents:
    file = open("file%i.txt" %i,'w')
    file.write(content.text)
    file.close()

我收到ValueError: need more than 1 value to unpack错误。当我在里面给我循环时,我得到错误IOError: [Errno 24] Too many open files: 'file508.txt'

1 个答案:

答案 0 :(得分:0)

  

ValueError:解包需要多于1个值

您的案例中的contents将包含bs4.Tag个实例的列表。如果你想"索引"他们 - 使用enumerate()

for i, content in enumerate(contents):
    file = open("file%i.txt" % i,'w')
    file.write(content.text)
    file.close()