3 回答

TA貢獻(xiàn)1772條經(jīng)驗(yàn) 獲得超6個(gè)贊
在Unix / Linux上,uniq根據(jù)David Locke的答案使用命令,或sort根據(jù)William Pursell的注釋使用命令。
如果您需要Python腳本:
lines_seen = set() # holds lines already seen
outfile = open(outfilename, "w")
for line in open(infilename, "r"):
if line not in lines_seen: # not a duplicate
outfile.write(line)
lines_seen.add(line)
outfile.close()
更新:本sort/ uniq組合將刪除重復(fù),但返回與排序線,這可能會(huì)或可能不是你想要的是一個(gè)文件。上面的Python腳本不會(huì)對(duì)行進(jìn)行重新排序,而只會(huì)刪除重復(fù)項(xiàng)。當(dāng)然,要使上面的腳本也能排序,只需outfile.write(line)在循環(huán)之后省去and,然后立即執(zhí)行即可outfile.writelines(sorted(lines_seen))。

TA貢獻(xiàn)1795條經(jīng)驗(yàn) 獲得超7個(gè)贊
uniqlines = set(open('/tmp/foo').readlines())
這將為您提供唯一行的列表。
將其寫回到某個(gè)文件將很容易:
bar = open('/tmp/bar', 'w').writelines(set(uniqlines))
bar.close()
- 3 回答
- 0 關(guān)注
- 605 瀏覽
添加回答
舉報(bào)