Jak mam sformatować funkcje print

0

Jak mogę to sformatować aby zamiast godziny np 15:00, pokazal 15:00-16:00.

from itertools import groupby

with open ('auth.log') as f_authlog:
	f_authlog = (line for line in f_authlog if "Failed password for" in line)
	for key, group in groupby(f_authlog, key = lambda x: x[:9]):
		month, day, hour = key[0:3], key [4:6], key[7:9]
		print "%s:00 %s-%s: %d"%(hour, day, month, len(list(group)))
0

Np jakoś tak:

hour = 15;
print("%d:00-%d:00" % (hour, hour+1))
0

ale zmienna hour pobiera wartości z pliku auth.log więc nie jest to zawsze 15.

1

Może tak:

hour = "15";
print("%s:00-%s:00" % (hour, str(int(hour)+1)))
0

Myślę że zamiast notacji z % jednak warto używać pythonowego format ze względu na elastyczność i czytelność. No ale oczywiście jak kto lubi.

str.format()
https://docs.python.org/2/library/string.html
sekcja 7.1.3.2

0

Tu jest dobra stronka która wyjaśnia formatowanie w Pythonie:

https://pyformat.info/

1 użytkowników online, w tym zalogowanych: 0, gości: 1