BeautifulSoup - 在目录中循环浏览文件,清理,保存

时间:2017-03-26 23:51:41

标签: python for-loop beautifulsoup file-processing

我对Python很新,这是我迄今为止写的最复杂的循环......是的。

无论如何,我在同一目录中有一批文件要使用BeautifulSoup清理并重新保存。这是我写的代码。它运行没有错误,但似乎卡在第一个文件而没有做任何事情。这是我的代码。谢谢你看看。

import os
import errno
import urllib
from bs4 import BeautifulSoup

os.listdir("E:/2013 10Ks/10K")

folder = "E:/2013 10Ks/10K"

#the code is running but getting stuck/not responsive

for filename in os.listdir(folder):
    f = open(filename,"r",encoding='utf-8')
    soup = BeautifulSoup(f,"xml")
    output=soup.get_text()
    file = open(filename, "w", encoding='utf-8')
    file.write(output)
    file.close()

修改

我相信正在发生的事情是循环将这些函数应用于文件名而不是实际文件。我尝试列出目录中的一些文件,然后循环,这个代码似乎工作。

import os
import errno
import urllib
from bs4 import BeautifulSoup

x = ["D:/2013 10Ks/10K/3.txt",
"D:/2013 10Ks/10K/4.txt"]


for filename in x:
    f = open(filename,"r",encoding='utf-8')
    soup = BeautifulSoup(f,"xml")
    output=soup.get_text()
    file = open(filename, "w", encoding='utf-8')
    file.write(output)
    file.close()

我以为我之前所做的事情做了同样的事情,但使用了目录中的文件列表。谢谢你看看。

0 个答案:

没有答案