2017-10-04 45 views
0

我的代碼不喜歡我要求它將某些信息附加到特定行。我不確定爲什麼?。完成寫入函數不寫回原始行

僅供參考,我的代碼看起來是這樣的:

def lookOnMe(fileName): 
import socket 
global HostName 
with open(fileName, 'r+') as f: 
    next(f) 
    for line in f: 
     f.seek(0) 
     print(line) 
     findStop = line.index("|") 
     remainder = line[findStop+2:] 
     findStop = remainder.index("|") 
     ipAdd = remainder[:findStop] 
     ipAdd = "".join(ipAdd.split()) 
     try: 
      HostName = socket.gethostbyaddr(ipAdd) 
     except: 
      HostName = '-' 

     f.write(line.rstrip('\n') + " | " + HostName + '\n') 
     f.read() 

和輸入的字符串,就像這樣:

5558 | 1.000.00.00  | 1.222.0.0/10  | ER | apnic | 2001-07-19 | SOMESTUFF 
+0

你需要一個tmp文件才能複製到 – user993553

+0

。謝謝。 – GarnetSunset

回答

0

很簡單。

next(f)語句讀取一行,文件中的第一行,並且不執行任何操作。

然後,你第一次做for line in f,它會嘗試讀取第二行。這將是空的(因爲你可能在第一行後有一個換行符)。

由於沒有|字符或其他任何類型的字符串,因此無法使用子字符串檢測來分析您的空行。