Ich habe vor kurzem mit der Arbeit an einem Python-Programm begonnen, wie im folgenden Fragment zu sehen ist.Python und time/datetime
# General Variables
running = False
new = True
timeStart = 0.0
timeElapsed = 0.0
def endProg():
curses.nocbreak()
stdscr.keypad(False)
curses.echo()
curses.endwin()
quit()
# Draw
def draw():
stdscr.addstr(1, 1, ">", curses.color_pair(6))
stdscr.border()
if running:
stdscr.addstr(1, 3, t.strftime("%H:%M.%S", t.ctime(timeStart - timeElapsed)))
stdscr.redrawwin()
stdscr.refresh()
# Calculate
def calc():
if running:
timeElapsed = t.clock() - timeStart
stdscr.border()
stdscr.addstr(1, 3, t.strftime("%H:%M.%S", t.gmtime(t.clock() - t.clock())))
# Main Loop
while True:
# Get Input
kInput = stdscr.getch()
# Close the program
if kInput == ord('q'):
endProg()
# Stop the current run
elif kInput == ord('s'):
stdscr.addstr(1, 3, t.strftime("%H:%M.%S", t.gmtime(t.clock() - t.clock())))
running = False
new = True
# Start a run
elif kInput == ord(' ') and new:
running = not running
new = not new
timeStart = dt.datetime.now()
# Toggle the timer
elif kInput == ord('p') and not new:
timeStart = dt.datetime.now() - timeStart
running = not running
calc()
draw()
Mein Programm ist ein bisschen zwischen Lösungen, die derzeit, sorry, wenn etwas nicht richtig aussehen. Ich werde mehr als glücklich sein zu erklären.
Ich habe die letzten paar Stunden damit verbracht, online über die time- und datetime-Module für Python zu lesen und herauszufinden, wie ich sie nutzen kann, um meine Ziele zu erreichen, aber ich habe versucht, sie zu implementieren .
Im Wesentlichen brauche ich mein Programm, um die verstrichene Zeit seit dem Drücken einer Taste zu messen und in der Lage zu sein, es im Format Stunde: Minute.sekunden anzuzeigen. Die Subtraktion hat es sehr schwierig gemacht, Dinge wie timedelta zu implementieren. Von dem, was ich online gelesen habe, gibt es keine Möglichkeit zu tun, was ich ohne das Datetime-Modul will, aber es gibt mir nur Probleme.
Gibt es eine einfachere Lösung, hat mein Code irgendwelche ausstehenden Fehler, und wie dumm bin ich?
Sie können 'time.time' verwenden, um die verstrichene Zeit zu messen. –