在python中处理后如何保存文件?

2024-05-29 06:46:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我是python新手。我开始用Beautiful Soup编写一个处理HTML文件的脚本。一切都在正确处理,但我现在想将文章保存在一个名为nowe的新文件夹中,而不是打印它。我需要得到所有的文章到同一个文件夹后处理,或使一个单一的CSV文件。你知道吗

from bs4 import BeautifulSoup
import glob
import os, os.path


path = '/home/darek/Dokumenty/pliki/'
path_out = '/home/darek/Dokumenty/pliki/nowe'
for filename in glob.glob(os.path.join(path, '*.html',)):
    f = filename
    tresc = open(f)
    soup = BeautifulSoup(tresc, 'html.parser') 
    article = soup.find('div',class_='post')
    tagi = soup.find('div', class_='ph_social_share_box ph_social_share_box_bottom')

    fout = open( +filename, "w")
    fout.close()

print(article)

我的错误日志:

File "/home/darek/Dokumenty/parser.py", line 21, in <module>
    fout = open( +filename, "w")

TypeError: bad operand type for unary +: 'str'

那是印刷品的作品

从bs4导入 导入全局 导入操作系统,操作系统路径你知道吗

path = '/home/darek/Dokumenty/pliki/'
path_out = '/home/darek/Dokumenty/pliki/nowe'
for filename in glob.glob(os.path.join(path, '*.html',)):
    f = filename
    content = open(f)
    soup = BeautifulSoup(content, 'html.parser') 
    article = soup.find('div',class_='post')
    tags = soup.find('div', class_='ph_social_share_box ph_social_share_box_bottom')


print(article)

这就是我不能写文件的想法?你知道吗


Tags: pathdivhomeoshtmlarticleopenfind
2条回答

更改此代码块:

fout = open( +filename, "w")
fout.close()

要做到这一点:

fout = open( filename, "w")
fout.write(article) # I assume here that article is what you want to be writing
fout.close()

tresc.close() # You never closed this, so it was a memory leak

删除此行中的“+”: fout = open( +filename, "w")

“w”表示:“以写模式打开文件”。 如果您向其添加“+”,如“w+”,它将从文件打开时开始写入文件。所以这条线应该是

fout = open(filename, "w+")

相关问题 更多 >

    热门问题