我一直在尋找適合我的問題的解決方案,現在幾天無處不在。希望你們中的一些人能指引我走向正確的方向。查找文本文件中的特定行,在同一行中查找特定的字符並更改/修改其值
我想實現一個帶有代理列表的系統。系統正在從列表中提取代理,嘗試使用它進行連接,並且如果連接失敗,修改proxy.txt中的代理線路的「= 1」意味着超時一次。
當系統將在此代理再次下一次絆倒,它會再次失敗,應該修改「= 1」至「= 2」等將字符串轉換爲int,改變值,然後轉換回串不難做到。
這裏我的問題是我找不到如何將光標放到特定代理然後替換「= Number」值的方式。我可以使用.seek()來查找代理,但是考慮到每個代理都有不同的字符長度.seek(proxy + 20)根本無法工作...
例如,proxy.txt具有:
192.168.0.1:8000 = 2
192.168.0.10:80 = 1
192.168.0.100:3128 = 2
192.168.0.4:8080
192.168.0.5:7822 = 2
192.168.0.6:8005
即使我能找到的代理,我需要通過掃描每行再火.seek(代理地址),我怎麼可以移動再到「=」字?
我知道是否可能更容易,只是將所有文本文件複製到pickle文件,然後通過使用字典等修改所有內容。 但我的想法是,我可以隨時打開文本文件,看看代理是什麼失敗。
謝謝。
http://stackoverflow.com/questions/39086/search-and-replace-a-line-in-a-file-in-python應包含的答案,如果我理解正確的...... – tchap 2012-03-25 13:20:21
爲什麼不你將文件轉儲到sqlite然後查詢它?硬盤IO並不是真正有效的內存。 – luke14free 2012-03-25 14:06:04
檔案有多大? – 2012-03-25 14:08:56