python - 读取后从txt文件中删除行

标签 python scripting

我正在尝试创建一个脚本,该脚本向 txt 文件中的随机网址发出请求

import urllib2

with open('urls.txt') as urls:
    for url in urls:
        try:
            r = urllib2.urlopen(url)
        except urllib2.URLError as e:
            r = e
        if r.code in (200, 401):
            print '[{}]: '.format(url), "Up!"
        elif r.code == 404:
            print '[{}]: '.format(url), "Not Found!" 

但我希望当某些 url 出现 404 not found 时从文件中删除。每个 url 都是每行,所以基本上是删除每个 404 未找到的 url。怎么办?!

最佳答案

您可以写入第二个文件:

import urllib2

with open('urls.txt', 'r') as urls, open('urls2.txt', 'w') as urls2:
    for url in urls:
        try:
            r = urllib2.urlopen(url)
        except urllib2.URLError as e:
            r = e

        if r.code in (200, 401):
            print '[{}]: '.format(url), "Up!"
            urls2.write(url + '\n')
        elif r.code == 404:
            print '[{}]: '.format(url), "Not Found!" 

关于python - 读取后从txt文件中删除行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14493638/

相关文章:

python - 使用Python Select()接收数据的重大延迟

shell - 如何在不替换当前 shell 的情况下重新加载 ZSH 配置文件?

Xcode,是否可以在构建时拦截和更改代码而不更新文件?如果是这样,怎么办?

.net - 定速巡航.NET

vim - 如何在vim脚本中获取光标下的单词和当前行的文本?

c++ - 带有 C++ 模板的 SWIG : undefined symbol

python - 基于重复值合并字典

python - 我需要一些帮助使用 faker 将随机测试数据写入 csv 文件

python - 如何使用 lxml 和 iterlinks 替换链接

Python 应用程序和 Python 解释器?