Найти - Пользователи
Полная версия: Работа с файлами(посещения на сайте)
Начало » Python для экспертов » Работа с файлами(посещения на сайте)
1
mike684
Дан текстовый файл со статистикой посещения сайта за неделю. Имеется 10 строк(10 посещений). Каждая строчка содержит ip адрес, время и название дня недели (например, 139.18.150.126 23:12:44 Sunday).
Создайте новый тектовый файл, который бы содержал список ip без повторений из первого файла. Для каждого ip укажите количетво посещений в неделю, наиболее популярный день недели, наиболее попудярный отрезок времени длиной в один час.
Последней строкой добавьте наиболее популярный отрезок времени длиной в один час в целом для сайта.
Создал блокнот файл(fail) из 10 строк, во второй файл(fail2) записал уникальные адреса и количество посещений для каждого. Как реализовать циклы для популярных дней и часов?
Спасибо

 my_file = open('fail', 'r')
lines = my_file.readlines()
my_file.close()
#Режем строчки 
a = lines[0]
a = a.split(' ')
b = lines[1]
b = b.split(' ')
c = lines[2]
c = c.split(' ')
d = lines[3]
d = d.split(' ')
e = lines[4]
e = e.split(' ')
f = lines[5]
f = f.split(' ')
g = lines[6]
g = g.split(' ')
h = lines[7]
h = h.split(' ')
i = lines[8]
i = i.split(' ')
j = lines[9]
j = j.split(' ')
newlines = [a[0] + '\n', b[0]+ '\n', c[0]+ '\n', d[0]+ '\n', e[0]+ '\n', f[0]+ '\n', g[0]+ '\n', h[0]+ '\n', i[0]+ '\n', j[0]+ '\n'] #Сделали список из ip адресов
def f(newlines): #Избавляемся от повторов
    """Модуль позволяет избавиться от повторов и записать уникальные значения в нужном порядке в переменную f"""
    n = []
    for i in newlines:
        if i not in n:
            n.append(i)
    return n 
f = f(newlines) #список уникальных ip адресов
q = ['Список уникальных адресов \n']
my_file = open('fail2', 'w')
my_file.writelines(q)
my_file.writelines(f)
my_file.close()
i = 0
for element in f: #Считаем посещения в неделю
	f[i] = str(newlines.count(element))
	f[i] = f[i] + '\n'
	i = i + 1
my_file = open('fail2', 'a')
q = ['Количество посещений соответственно \n']
my_file.writelines(q)
my_file.writelines(f)
my_file.close()

Romissevd
код в теги
[code python][/code]
python335
Если ты хочешь это написать - пиши. Если хочешь рисовать - рисуй. Зачем спрашивать на форуме решения всех твоих вопросов, ответы на которые должен находить сам. Ты же не спросишь учительницу по математике: “А тут пример 2+2 очень сложный. Какой ответ скажите, и я вам сдам типо сам сделал”

А так если серьезно, то это вообще-то можно сделать. Только откуда ты возьмешь log с сайта. Только если у тебя сайт на сервере лежит где есть еще отдельный FTP сервер. и ты оттуда берешь логи. Либо же ты сам будешь писать туда рандомный ипшник, время посещения и т.п. для удовлетворения твоих желаний написать прогу, которую юзают миллионы продвинутых сайтов типо yahoo и т.д.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB