亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

沒有 \n 有什么方便的方法來讀取行嗎?

沒有 \n 有什么方便的方法來讀取行嗎?

慕神8447489 2023-06-20 14:07:55
我有一個名為 的函數read_proxy,我想閱讀文本的每一行:def read_proxy():    f = open('./proxy.txt', 'r')    proxies = f.readlines()    f.close()    return proxiesif __name__ == '__main__':    proxies = read_proxy()    print(proxies)  # ['a\n', 'sad\n', 'asdasd\n', 'asdas\n', '1223\n', '43\n', '4576\n', '789\n', '90900-\n']    您會看到列表項,每個項的\n末尾都有一個。怎么寫read_proxy(),讓我實現得到每行字符串不帶\n?在我的選擇中,我只能 forloop 每個項目然后剝離\n出來。
查看完整描述

3 回答

?
MMTTMM

TA貢獻1869條經驗 獲得超4個贊

我不確定為什么 Python 決定這樣做,但是遍歷一個文件會返回它的行。所以你也可以這樣寫:

with open('./proxy.txt', 'r') as file:
    return [line.rstrip('\n') for line in file]

對于非常大的文件,這可能比將整個文件讀入內存然后解析它更有效。內存中不需要文件的兩個副本(一個有換行符,一個沒有)。


查看完整回答
反對 回復 2023-06-20
?
哈士奇WWW

TA貢獻1799條經驗 獲得超6個贊

def read_proxy_without_newlines():

    f = open('./proxy.txt', 'r')

    proxies = f.readlines()

    f.close()

    return [p.rstrip('\n') for p in proxies]


查看完整回答
反對 回復 2023-06-20
?
拉莫斯之舞

TA貢獻1820條經驗 獲得超10個贊

而不是使用.readlines(), 將每一行分別讀入列表并保留\n在末尾,您可以嘗試使用.read()一次獲取整個文件,然后使用str.split()將其變成行列表,但這次刪除換行符:


def read_proxy():

    f = open('./proxy.txt', 'r')

    proxies = f.read().split('\n')

    f.close()

    return proxies


查看完整回答
反對 回復 2023-06-20
  • 3 回答
  • 0 關注
  • 154 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號