Я кодирую программу, которая читает и извлекает данные из текстового файла, а затем выполняет некоторые вычисления с данными.
Однако из-за пустых мест в моих текстовых файлах произошла ошибка при получении чисел. я получил
ValueError: неверный литерал для int() с base10: ' '
Мой текстовый файл выглядит так:
['flower', 'sdfsd', '21/08/2019 20:27:03', 1]
['hello', 'sdsdfsdf', '21/08/2019 20:27:36', '2']
['car', 'sdfsd', '21/08/2019 20:27:45', 1]
['table', 'sdfsdf', '21/08/2019 20:29:21', 1]
_(blank space \n)_
['shirt', 'sdfsdf', '21/08/2019 20:30:02', '2']
_(blank space \n)_
['hello', 'sdfsdf', '21/08/2019 20:30:07', '3']
и мой код для записи в текстовый файл из python выглядит так:
historyFile = open('history.txt','a')
historyFile.write("\n\r")
historyFile.write(file)
historyFile.close()
Я уже пробовал примеры в Интернете, такие как if not line.strip():
, но он перестал извлекать данные после пустой строки.
Ниже приведены мои коды:
readFile = open('history.txt','r')
searching = readFile.readlines()
i=0
for line in searching:
if i in range(len(searching)-1):
i += 1
oldCount = str(int(searching[i].split(",")[3][-4]))
newCount = str(int(searching[i].split(",")[3][-4]) + 1)
print("\nold count: " + oldCount + " new count: " + newCount)
Предполагается, что он пробежит все строки в моем текстовом файле и вернет числа в моем списке в позиции 3, но из-за пустых строк я получаю сообщение об ошибке