2014-02-28 44 views
1

我寫一個python腳本,因爲它們是在另一個文件中的IP國家進行分類..例如..我有在腳本2個文件目錄Python的分類命令

IPCountries.txt包含: -

192.168.1.1 | US, 
188.100.0.0 | AU, 

和文件arrange.txt包含: -

0="US,CA,UK,GE," 
1="AU,EG," 

現在腳本將讀取IPCountries.txt文件中的每一行後的值設爲「|」比如值「US」,然後將它與文件arrange.txt中的值匹配並將其寫入一個名爲0.txt的新文件。

的問題是,我不知道如何做到這一點,但我已經使用一些信息寫入下一個代碼,但我被困在如u可以在這裏看到的代碼端,環..

import re 
import os 
filepath = 'arrange.txt' 
with open(filepath) as file: 
    txt = file.read() 
mapping = re.findall(r'(\d+)="(.*)"', txt) 

ip = open("IPCountries.txt",'r') 
for line in ip: 

任何幫助循環或建議如何做到這一點,但在同一過程和文件?

感謝

回答

1

您可以使用類似

for line in ip: 
    ip, country = [e.strip() for e in line.split("|")] 
    country = country[:-1] # Strip off comma at the end 

我不知道你打算用這個變量做什麼,但基本的提取過程可能看起來像我的示例代碼。

+0

你沒有調用'e.strip'。 – Javier

+0

@Javier哦,哇,不能相信我從交互式解釋器中複製了*錯誤的*代碼行;-)感謝注意,我修正了這個! –

+0

我試圖用這個代碼,但面對這個錯誤 回溯(最近通話最後一個):在 文件「./rr.py」,第11行,在 IP,全國= [e.strip()爲電子商務line.split(「|」)] ValueError:需要超過1個值才能解壓 – abualameer94