2016-08-18 101 views
-3

所以我有一個文本文件,裏面是這樣的:如何刪除文本文件中的重複鏈接?

http://example.pl/folder/this_same1.avi 
http://example.pl/folder/this_same1.avi 
http://example.pl/folder/this_same2.avi 
http://example.pl/folder/this_same2.avi 
http://example.pl/folder/this_same3.avi 
http://example.pl/folder/this_same3.avi 

而且我要刪除所有重複的鏈接。 輸出文件看起來是這樣的:

http://example.pl/folder/this_same1.avi 
http://example.pl/folder/this_same2.avi 
http://example.pl/folder/this_same3.avi 
+0

'cat/path/to/file | sort -u' –

+0

@NehalJWani假設OP正在使用Linux ... – DeepSpace

+1

您嘗試過任何操作嗎? SO不是代碼寫入服務。 – DeepSpace

回答

0

如果這個結構是一致的,而且順序很重要:

links = fp.readlines()[::2] 

如果結構不相一致,並且順序很重要:

links = [] 
for line in fp.readlines(): 
    if line not in links: 
     links.append(line) 

然後寫入文件。

1

哦,我已經提高了我的答案是:

links = set() 
with open('file.txt', 'r') as fp: 
    for line in fp.readlines(): 
     links.add(line) 

然後,你可以寫回文件:

with open('file.txt', 'wb') as fp: 
    for line in links: 
     fp.write(line) 

測試它自己..

+0

顯式的'for'循環是不必要的:'set(fp.readlines())'會做。另外請注意,這可能(也可能會)修改這些行的順序。 OP可能會也可能不會。 – DeepSpace

+0

絕對正確.. – Eric