Jak mam sformatować funkcje print

Jak mam sformatować funkcje print
KR
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2
0

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

Kopiuj
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)))
szweszwe
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Kraków
  • Postów: 1694
0

Np jakoś tak:

Kopiuj
hour = 15;
print("%d:00-%d:00" % (hour, hour+1))
KR
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2
0

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

szweszwe
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Kraków
  • Postów: 1694
1

Może tak:

Kopiuj
hour = "15";
print("%s:00-%s:00" % (hour, str(int(hour)+1)))
DB
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 227
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

  • Rejestracja: dni
  • Ostatnio: dni
0

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

https://pyformat.info/

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.