2016-04-03 15 views
0

Merhaba Dosya1.txt, file2.txt, ... gibi dosyalar oluşturmak istiyorum Bunun için limit hatası alıyorum. Çalıştırmak için kodumda ne yapmam gerekiyor?Döngüyü kullanarak birden fazla dosyayı nasıl yazabilirim?

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 hatası alıyorum. Ben i için döngü verdiğimde içeri ben bs4.Tag örneklerinin bir listesini içerecektir senin durumda hatayı IOError: [Errno 24] Too many open files: 'file508.txt'

+3

Bir sınır hatası nedir? Bu bir yazım hatası mı? Bu sorun, – Jasper

+1

Post'a özel hata iletisi olabilir. Bir işletim sisteminin, genellikle açık dosya tanıtıcılarının sayısı üzerinde bir sınırı olacaktır. Bu (beklememem olsa da) mümkün, bu döngüde 'del dosya' yardımcı olacaktır. –

+0

Burada bir "SyntaxError" olmasını beklerim - her bir sonucu her defasında yeni bir dosyaya yazmaya çalışıyor musunuz? –

cevap

0

ValueError: need more than 1 value to unpack

contents olsun. Bunları dizinde "icat etmek istiyorsanız - kullanın enumerate():

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