【发布时间】:2019-06-05 15:31:51
【问题描述】:
我有这段python代码,它通过文本文件(urls.txt)中的url列表循环然后跟随所有url的重定向,如果url包含特定的字符串,它将它写入一个名为redirects的文件.txt
import urllib.request
import ssl
redf = open('redirect.txt', 'w')
with open('urls.txt') as f:
for row in f:
#try:
context = ssl._create_unverified_context()
finalurl = ''
try:
res = urllib.request.urlopen(row, context=context, timeout=10)
finalurl = res.geturl().strip()
except:
#remove from list
print("error:"+finalurl)
# filedata = file.read()
if finalurl.strip():
if "/admin/" in finalurl:
redf.write(finalurl+"\n");
问题是在redirect.txt文件被创建之前我必须等待整个URS被处理完。
如何实时写作?
【问题讨论】:
-
我只是在这里猜测,但可能没有有效的方法来做到这一点。我之所以这么说,是因为在任何操作系统中,文件必须是
closed 或保存后才能读取更改。
标签: python python-3.x file