3 回答

TA貢獻(xiàn)1869條經(jīng)驗(yàn) 獲得超4個(gè)贊
我不確定為什么 Python 決定這樣做,但是遍歷一個(gè)文件會(huì)返回它的行。所以你也可以這樣寫:
with open('./proxy.txt', 'r') as file: return [line.rstrip('\n') for line in file]
對(duì)于非常大的文件,這可能比將整個(gè)文件讀入內(nèi)存然后解析它更有效。內(nèi)存中不需要文件的兩個(gè)副本(一個(gè)有換行符,一個(gè)沒有)。

TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超6個(gè)贊
def read_proxy_without_newlines():
f = open('./proxy.txt', 'r')
proxies = f.readlines()
f.close()
return [p.rstrip('\n') for p in proxies]

TA貢獻(xiàn)1820條經(jīng)驗(yàn) 獲得超10個(gè)贊
而不是使用.readlines(), 將每一行分別讀入列表并保留\n在末尾,您可以嘗試使用.read()一次獲取整個(gè)文件,然后使用str.split()將其變成行列表,但這次刪除換行符:
def read_proxy():
f = open('./proxy.txt', 'r')
proxies = f.read().split('\n')
f.close()
return proxies
添加回答
舉報(bào)