第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

僅從 Python 中的文件中獲取有效的 url

僅從 Python 中的文件中獲取有效的 url

Smart貓小萌 2022-11-01 16:47:37
有人可以幫我嗎?我有一個 output.txt 文件(示例文件),如下所示:輸出.txt:account.netflix.comprod.netflix.comnetflix.comhttps://google.com我正在嘗試僅將帶有此代碼的現(xiàn)有 url 放入文件 alive.txtimport socketwith open("output.txt", 'r') as f:    for url in f:        try:            addr1 = socket.gethostbyname(url)            print(addr1 + " is a valid url")            f = open("alive.txt", "a")            f.write("\n" + addr1)            f.close()        except:            print("not valid")f.close()我究竟做錯了什么?
查看完整描述

2 回答

?
PIPIONE

TA貢獻1829條經(jīng)驗 獲得超9個贊

問題是當(dāng)您從文件中讀取 url 時。當(dāng)您讀取url變量中的 url 時,它帶有一個結(jié)尾\n換行符。您必須刪除它,然后使用該網(wǎng)址。

替換這一行:

addr1 = socket.gethostbyname(url)

有了這個:

addr1 = socket.gethostbyname(url.rstrip())

此外,我認為您對 python 的了解并不多,因為您的代碼有各種需要更正的東西。

  1. 您有兩個同名的文件引用f。不要這樣做,它會導(dǎo)致一些奇怪的行為。

  2. 您一次又一次地打開文件for-loop,它不是pythonic。只需打開文件一次,當(dāng)任務(wù)結(jié)束時,關(guān)閉文件。

  3. 用于with打開文件,您以后不必關(guān)閉文件。with僅出于此目的,因此無需關(guān)閉文件。

您可以檢查給定代碼以了解上述幾點。

import socket


with open("test.txt", 'r') as in_file, open("alive.txt", "a") as out_file :

    for url in in_file:

        try:

            addr1 = socket.gethostbyname(url.rstrip())

            print(addr1 + " is a valid url")

            out_file.write("\n" + addr1)

        except:

            print("not valid")


查看完整回答
反對 回復(fù) 2022-11-01
?
DIEA

TA貢獻1820條經(jīng)驗 獲得超3個贊

也許您可以嘗試更改函數(shù)的順序:


import socket


f = open("alive.txt", "w")

with open("output.txt") as fp:

    line = fp.readline()


    while line:

        try:

            clean_line = line.strip()

            addr1 = socket.gethostbyname(clean_line)

            print("valid url : " + addr1 + " from " + clean_line)

            f.write(addr1 + "\n")


        except:

            print("not valid: " +addr1 + " from " + clean_line)


        line = fp.readline()


f.close()


查看完整回答
反對 回復(fù) 2022-11-01
  • 2 回答
  • 0 關(guān)注
  • 156 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號