#python
#питон
Вопрос:
Я создаю трекер времени для определения того, как долго открыто программное обеспечение, и я сделал так, чтобы время сохранялось в текстовом файле и отображалось, когда пользователь запрашивает его. Итак, первый — это часы, затем минуты, затем секунды. Но у меня есть это, поэтому оно хранится в нескольких строках, поэтому мне нужно либо найти способ сохранить время и автоматически добавить его в старое время, либо добавить их все вместе в файл.
Это код, который мне нужно заменить, чтобы он мог прочитать формат кортежа и сложить его вместе
h = open('Timelogs.txt', 'r') a = 0 for n in h: n = n.strip() split = n.split(',') for ns in split: x = a int(ns) print("You have:", x)
Вот еще часть кода, которая поможет понять, что я делаю
def Check_Time(): os.chdir('File Location') h = open('Timelogs.txt', 'r') a = 0 for n in h: n = n.strip() split = n.split(',') for ns in split: x = a int(ns) print("You have:", x) def Game_Time(): def Timer(): timeOn =0 min = 0 hour = 0 while True: output = os.popen('wmic process get description, processid').read() game = ('SnippingTool.exe') if game in output: timeOn = timeOn 1 if timeOn == 60: min = 1 timeOn = 0 if min == 60: hour = 1 min = 0 else: print("{}.{}.{}".format(hour,min,timeOn)) Timelog() f = open('Timelogs.txt','a') f.write(str("[{},{},{}]".format(hour,min,timeOn)) 'n') f.close() break time.sleep(1)
Вот как выглядит текстовый файл при тестировании
[0,0,6] [0,1,42] [0,0,14] [0,0,4] [0,0,8]
и мне нужно добавлять только сек к сек, минуту к минуте и т. Д.
Я попытался сделать что-то другое, кроме кортежа, и попытался использовать математику для решения этой проблемы, но если бы пользователь открыл его только на несколько секунд, это испортило бы математику и мешало бы всему
Комментарии:
1. Я не понимаю, в чем проблема.
2. может быть, лучше оставить его без
[ ]
, и у вас будетCSV
файл, который вы можете загрузить с помощью модуляcvs
илиpandas
, а затем вы можете использовать pandas для выполнения вычислений в одной строке.pandas.read_csv("Timelogs.txt").sum()
3. если у вас есть три значения в строке, то вы можете использовать
h, m, s = n.split(',')
и позже суммировать отдельноh
,m
,s
, а позже вы можете преобразоватьs
вs`, s//60
, чтобы получить полные минуты и добавитьm
. И то жеm`, m//60
самое, чтобы получить полные часы и добавить кh