Гадание на вас действительно означает, я бы переписал ваш код следующим образом:
from urlparse import urlparse
import csv
import re
ifile =open(ipath,'r')
ofile = open(opath, 'wb')
writer = csv.writer(ofile, dialect='excel')
url =[urlparse(u).netloc for u in ifile]
sitesource = set([re.sub("www.", "", e) for e in url])
for u in sitesource:
print ("Creation de:", u)
writer.writerow([u])
ofile.close()
ifile.close()
Я удалил liste
, так как он не используется. Я избавился от for row in file (ifile):
, так как вы уже перебирали его содержимое при создании url
.
Я изменил
url =[urlparse(u).netloc for u in file (ipath, "r+b")]
до
url =[urlparse(u).netloc for u in ifile]
потому что файл уже открыт. Я предполагал, что вам не нужен двоичный режим, если вы читаете строки.
Я изменил writerow(u)
, чтобы написать последовательность: writerow([u])
. Это ставит одну u
на строку, что означает, что ваш CSV-файл не будет содержать запятые. Если вы хотите, чтобы все ваши результаты были в одном ряду, замените последний цикл на этот параметр writer.writerow(sitesource)
.