python - 如何使用 python 仅将 URL 中的特定文本行保存到 txt 文件?
问题描述
到目前为止,我使用了 range 函数,该函数在我简单地打印从 URL 导入的行时起作用,但是当我尝试将它们保存到 txt 文件时,它只保存第 5 行(或范围的最后一个数字)。
target_url="random URL"
request = requests.get(target_url)
text=request.text
lines=text.split("\n")
for i in range(1, 5):
savefile = open('c:/Users/ghostsIIV/Desktop/examplefile.txt', 'w')
savefile.write(lines[i])
savefile.close()
解决方案
您在每次迭代时覆盖您的文件,清除之前的信息:
for i in range(1, 5):
savefile = open('c:/Users/ghostsIIV/Desktop/examplefile.txt', 'w')
savefile.write(lines[i])
savefile.close()
如果你想写五行,那么在你积累数据时让文件保持打开状态:
savefile = open('c:/Users/ghostsIIV/Desktop/examplefile.txt', 'w')
for i in range(1, 5):
savefile.write(lines[i])
savefile.close()
这也是学习a
(追加)模式的好时机。重复有关 Python 文件的教程以获取该信息。
更短,打开文件并写下你想要的四行:
with open('c:/Users/ghostsIIV/Desktop/examplefile.txt', 'w') as savefile:
savefile.write('\n'.join(lines[1:5])
with
退出块时关闭文件。
推荐阅读
- java - 为什么我需要在 main 方法中抛出 NullPointerException?
- javascript - 在日历上选择一个事件(fullcalendar js)并用不同的颜色突出显示
- powershell - Powershell 管道处理 - $_ 有效,但 $ParamName 无效
- java - 给定一个数字和一个数组,找出总和等于给定数字的所有可能组合
- javascript - 如何从对象数组中提取对象(数组)?
- html - 打印时关闭其他 CSS 表格
- python - neo4j 的 Python 加载脚本返回 ValueError
- ios - 打开App2后如何关闭App1?
- python - 在 pyplot 中绘图时出现奇怪的字符
- angular - 根据响应正文更改有效负载