Найти - Пользователи
Полная версия: Редактировать файл с условием
Начало » Python для новичков » Редактировать файл с условием
1
EdwardK
Всем привет!

Столкнулся с небольшой проблемой,нужно считать файл и провести с ним небольшие монипуляции.

Есть текстовый файл заполненный нулями:
 0
 0
 0
 0
 0

Далее нужно сравнить 2 списка,если элементы в списке равны,то в эту же позицию в файле нужно увеличить на 1,если они отличаются то скинуть до 0,

Пытаюсь реализовать данную задачу таким кодом :

 status_data_new = [53, 87, 705, 31, 65]
status_data_old = [69, 55, 705, 94, 5]
status_data = open('data_status.txt', 'r').readlines()
print(status_data)
for i in range(len(status_data_new)):
    if status_data_new[i] == status_data_old[i]:
        status_data[i] += 1
    else:
        status_data[i] = 0
print(status_data)

Выдает следующее :
Traceback (most recent call last):
['0\n', '0\n', '0\n', '0\n', '0']
File "C:/Users/Edward/PycharmProjects/Test1/Data_check.py", line 12, in <module>
status_data[i] += 1
TypeError: must be str, not int

Перепробовал вагон вариантов,везде выдает разные ошибки.
Буду рад вашей помощи и направлением меня в нужное русло

Спасибо
marvellik
ну все потому что вы из файла считали строки а в коде к строке пытаетесь прибавить число
 status_data_new = [53, 87, 705, 31, 65]
status_data_old = [69, 55, 705, 94, 5]
status_data = list(map(int,open('data_status.txt', 'r').readlines()))
for i,(new,old) in enumerate(zip(status_data_new,status_data_old)):
    if new == old:
        status_data[i] += 1
print(status_data )
EdwardK
marvellik
ну все потому что вы из файла считали строки а в коде к строке пытаетесь прибавить число

Спасибо
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB