You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从多个同类URL页面采集指定信息并逐次写入单个TXT文件

问题原因
  • write()方法仅支持传入字符串参数,你传入的('\n%s' % i for i in reference)是生成器对象,无法被直接写入文件。
  • 当前使用的'w'为覆盖写入模式,每次执行打开文件操作时都会清空文件已有内容,不符合循环采集时追加新数据的需求。
  • 未显式指定文件编码可能在部分环境下出现乱码,同时手动调用close()如果中途代码报错会导致缓冲区内容没写入文件。
修正方案

先将reference元组内的所有元素拼接为完整字符串,同时将文件打开模式改为追加模式'a',推荐使用with上下文管理器自动处理文件关闭逻辑,避免资源泄漏。

修正后的代码示例:

reference = (
"TY  - THES", 
"AB  - " + abstract1_1, 
"AU  - " + author1_1, 
"DO  - " + uri1_1,
"T1  - " + title1_1, 
"UR  - " + url,
"ER  - ",
"             ")

print(reference)

# a为追加模式,指定utf-8编码避免乱码
with open('Refs.txt', 'a', encoding='utf-8') as myfile:
    # 用换行符拼接所有元素后写入,末尾加换行符分隔不同页面的采集结果
    myfile.write('\n'.join(reference) + '\n')

如果你更习惯按行写入,也可以使用writelines方法:

with open('Refs.txt', 'a', encoding='utf-8') as myfile:
    myfile.writelines(f'\n{line}' for line in reference)

内容的提问来源于stack exchange,提问作者M. Zain Aldin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 11:45:02