拉風(fēng)的咖菲貓
2021-09-28 15:08:15
我有一組存在于文本文件中的斷開鏈接檢查器結(jié)果:Getting links from: https://www.foo.com/├───OK─── http://www.this.com/├───OK─── http://www.is.com/├─BROKEN─ http://www.broken.com/├───OK─── http://www.set.com/├───OK─── http://www.one.com/5 links found. 0 excluded. 1 broken.Getting links from: https://www.bar.com/├───OK─── http://www.this.com/├───OK─── http://www.is.com/├─BROKEN─ http://www.broken.com/3 links found. 0 excluded. 1 broken.Getting links from: https://www.boo.com/├───OK─── http://www.this.com/├───OK─── http://www.is.com/2 links found. 0 excluded. 0 broken.我正在嘗試編寫一個(gè)腳本,該腳本讀取文件并創(chuàng)建一個(gè)字典列表,其中每個(gè)根鏈接作為鍵,其子鏈接作為值(包括摘要行)。我試圖實(shí)現(xiàn)的輸出如下所示:{"Getting links from: https://www.foo.com/": ["├───OK─── http://www.this.com/", "├───OK─── http://www.is.com/", "├─BROKEN─ http://www.broken.com/", "├───OK─── http://www.set.com/", "├───OK─── http://www.one.com/", "5 links found. 0 excluded. 1 broken."], "Getting links from: https://www.bar.com/": ["├───OK─── http://www.this.com/", "├───OK─── http://www.is.com/", "├─BROKEN─ http://www.broken.com/", "3 links found. 0 excluded. 1 broken."],"Getting links from: https://www.boo.com/": ["├───OK─── http://www.this.com/", "├───OK─── http://www.is.com/", "2 links found. 0 excluded. 0 broken."] }這是我到目前為止所擁有的:result_list = []with open('link_checker_result.txt', 'r') as f: temp_list = f.readlines() for line in temp_list: result_list.append(line)這給了我輸出:['Getting links from: https://www.foo.com/', '├───OK─── http://www.this.com/', '├───OK─── http://www.is.com/', '├─BROKEN─ http://www.broken.com/', '├───OK─── http://www.set.com/', '├───OK─── http://www.one.com/', '5 links found. 0 excluded. 1 broken.', 'Getting links from: https://www.bar.com/', '├───OK─── http://www.this.com/', '├───OK─── http://www.is.com/', '...' ]我認(rèn)識(shí)到這些集合中的每一個(gè)都有一些共享的功能,例如,它們之間有一個(gè)空行,或者它們以“Getting...”開頭。這是我應(yīng)該在寫入字典之前嘗試拆分的東西嗎?我是 Python 新手,所以我承認(rèn)我什至不確定我是否朝著正確的方向前進(jìn)。真的很感謝一些專家的眼光!提前致謝!
2 回答

繁花如伊
TA貢獻(xiàn)2012條經(jīng)驗(yàn) 獲得超12個(gè)贊
這將產(chǎn)生您想要的結(jié)果:
result = {}
with open('link_checker_result.txt', 'r') as f:
temp_list = f.readlines()
key = ''
value = []
for line in temp_list:
if not line:
result[key] = value
key = ''
value = []
elif not key:
key = line
else:
value.append(line)
if key:
result[key] = value
添加回答
舉報(bào)
0/150
提交
取消