У меня проблема с преобразованием строк в целые числа, поэтому я могу выполнять математические функции. Я читал о str()
и int()
, но он, похоже, не работает здесь. Я пытаюсь сохранить данные из одной программы в файл, расположенный на моей карте Raspberry Pi 2 SD, используя код, показанный ниже; проблемная область отмечена в CAPS у основания. Я узнал, что все данные, сохраненные в файле, находятся в строчном формате. Так что нет проблем, просто преобразовать его обратно в целое, когда я получаю следующее сообщение об ошибке:Преобразование строки в целое из файла, расположенного на SD-карте
ValueError: invalid literal for int() with base 10
Я пробовал версий Python 2 и 3 на моем Raspberry Pi 2. Причина этого заключается в том, что у меня есть счетчик в моя основная программа, которую я хочу обновить с ее последней позицией в случае потери мощности для малины Pi.
Я вытягиваю свои волосы на этом. Может кто-то, пожалуйста, помогите мне найти ответ. Я не смог найти его сам в Интернете или в двух книгах Python, которые я приобрел.
from __future__ import print_function
import datetime #date and time library
# We begin by creating the file and writing some data.
webcam_home = open("home.txt", "a")
n = 1
m = 10
for i in range(0,5):
n = n*10
m = m*2
webcam_home.write(str(n))
webcam_home.write("%s\n" % m)
webcam_home.close()
# Now, we open the file and read the contents printing out
# those rows that have values in
webcam_home = open("home.txt", "r")
rows = webcam_home.readlines();
for row in rows:
print(">", row)
A = row
print("6",int("A")+1,"abc")
webcam_home.close()
Попробуйте 'int (A.rstrip())' вместо 'int (" A ")'. '' A '' is * not * действительный литерал для 'int()' с базой 10. – zondo
Вы пытаетесь преобразовать строку «A» в целое число. Что вы ожидаете от стоимости? Эта функция преобразует числовую строку в целое число (что-то вроде «123»). – Matthew
zondo, я просто попробовал int (A.rstrip()), и он возвращает INTEGER CONVERTED FROM A STRING = .mp ValueError: недействительный литерал для int() с базой 10: '' – Mark