Вставка символов в файл
не понимаю как мне вставить в строку и в номер символа вот этот символ { и не только.
Вот есть в файле вот это:
#1. 2760.418, -2003.884, 13.554 [Категория: Механический]
#2. 2802.163, -1962.988, 13.546 [Категория: Гражданский]
#3. 2802.157, -1936.306, 13.546 [Категория: Гражданский]
#4. 2750.846, -2003.936, 13.554 [Категория: Механический]
#5. 2787.066, -1926.258, 13.546 [Категория: Гражданский]
А я хотел бы сделать вот так:
#1. {2760.418, -2003.884, 13.554, 1},
#2. {2802.163, -1962.988, 13.546, 0},
#3. {2802.157, -1936.306, 13.546, 0},
#4. {2750.846, -2003.936, 13.554, 1},
#5. {2787.066, -1926.258, 13.546, 0},
Только не понимаю как реализовать, и как в строку вставить символ
Есть вот пример но он не рабочий:
with open ('Categories.txt', 'r') as f:
file = f.read()
file = file.split('\n')
bracket = '{'
for x in range(len(file)):
for i in range(len(file[x])):
if i == 4:
file[i] = f'%s%s' % (bracket, file[i])
with open('Categories.txt', 'w') as f:
for line in file:
f.write(line + '\n')
Ответы (2 шт):
Автор решения: Сергей Стрейндж
→ Ссылка
#Единственное не понятно, что у тебя в конце за числа.
stroka = '#1. 2760.418, -2003.884, 13.554 [Категория: Механический]'
razdel = stroka.split(' ')
nachalo_str = razdel[0:1]
konec_str = razdel_stroka[1:-2]
number = input()
end = "".join(nachalo_str) + ' {' + " ".join(konec_str) + " "+ str(number) + '}' +','
print(end)
Автор решения: EOS
→ Ссылка
Воспользовался вашим способом но он немного неправильно работает только лишь в цикле вот код:
with open('Categories.txt', 'r') as f:
file = f.read()
file = file.split('\n')
categories = ["Гражданский", "Механический", "Полицейский", "Медицинский", "Военный", "Закусочный", "Аммуниционный", "Рыболовский"]
for i in range(len(file)):
for x in range(len(categories)):
if categories[x] in file[i]:
string = file[i]
divide_string = string.split(' ')
start_str = divide_string[0:1]
end_str = divide_string[1:-2]
end = "".join(start_str) + ' {' + " ".join(end_str) + ", "+ str(x) + '}' +','
file[i] = end
with open('Categories.txt', 'w') as f:
for line in file:
f.write(line + '\n')
Итог: #1. {2760.418, -2003.884, 13.554 [Категория:, 1},