import re
for item in items:
fn = re.sub(r'[?*\/|.:<>]', "", item['title'])#替换字符串中的匹配项
with open(fn + '.txt', 'w', encoding='utf-8') as f:
f.write('内容\n' + item['content'] + '\n\n\n')
代码通过 re.sub()
方法对标题文本进行处理,将其中可能影响文件名的特殊字符(包括 ?*/\|.:<>
)替换为空字符串,从而得到合法的文件名。
使用 with open(fn + '.txt', 'w', encoding='utf-8') as f:
打开一个名为 fn.txt
的文件,并以写入模式打开。这里的 fn
是上一步处理后得到的文件名,.txt
是文件的扩展名。
紧接着通过 f.write()
方法将标题和内容写入到文件中,多个内容之间使用三个换行符分隔开。
当全部搜索结果遍历完成后,每个搜索结果 都会生成一个对应的 .txt
文件,每个文件中包含了该搜索结果的标题和内容。
所以说 会生成多个 txt 的原因是因为你的 items
以文章名作为文件的名称,要注意去掉操作系统中文件名不允许出现的字符==》【?*/|.:<>】,要不open代码会出错,所以用正则去掉【】里面的特殊字符,因为文章名可能包含这些字符。
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!