1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
|
import os.path
import sys
# Suppression des doublons en respectant l'ordre des lignes du fichier
def ListSupDoublons(path):
'''chemin du fichier où supprimer les doublons'''
if not os.path.isfile(path):
sys.exit("Le chemin {} spécifié n'est pas un fichier".format(path))
s = list()
with open(path, 'r') as f:
for line in f:
if line.strip('\n') and line not in s:
s.append(line)
yield line
# Suppression des doublons plus efficace, mais sans respecter l'ordre des lignes du fichier
def SetSupDoublons(path):
'''chemin du fichier où supprimer les doublons'''
if not os.path.isfile(path):
sys.exit("Le chemin {} spécifié n'est pas un fichier".format(path))
s = set()
with open(path, 'r') as f:
for line in f:
if line.strip('\n'):
s.add(line)
return s
# Utilisation des deux fonctions
for line in SetSupDoublons('test.txt'):
print(line) |
Partager