Надо записать в определенном месте файла .txt цифру на python
Вот есть код
def fileReader(username1, lesson):
f = open('marks.txt', 'r')
f = f.read()
info = f[f.find(username1):]
info = info[:info.find('\n')]
data =info.split(';')
for i in range(1,len(data)-1):
dataS2 = data[i].split("<")
if dataS2[0] == lesson:
marks = dataS2[1]
print(marks)
fileReader("mishagavura", "physiks")
Текст .txt файла:
mishagavura;algebra<10, 12, 11<;biology<10, 11, 12<;physiks<11, 11, 12, 12, 12<;
yakiwwi;algebra<12, 11, 10<;biology<10, 9, 8<;
как мне
mishagavura;algebra<10, 12, 11<;biology<10, 11, 12<;physiks<11, 11, 12, 12, 12(СЮДА ДОПИСАТЬ ЦИФРУ)<;
yakiwwi;algebra<12, 11, 10<;biology<10, 9, 8<;
Ответы (2 шт):
Автор решения: S. Nick
→ Ссылка
Попробуйте так:
_str = "mishagavura;algebra<10, 12, 11<;biology<10, 11, 12<;physiks<11, 11, 12, 12, 12<;yakiwwi;algebra<12, 11, 10<;biology<10, 9, 8<;"
_list = _str.split(';')
new_list = []
for item in _list:
if "physiks" == item[:len("physiks")]:
item = item[:-1] + 'цмфра' + item[-1] + ';'
new_list.append(item)
elif item: new_list.append(item + ';')
print(''.join(new_list))
# mishagavura;algebra<10, 12, 11<;biology<10, 11, 12<;physiks<11, 11, 12, 12, 12цмфра<;yakiwwi;algebra<12, 11, 10<;biology<10, 9, 8<;
print(_str)
# mishagavura;algebra<10, 12, 11<;biology<10, 11, 12<;physiks<11, 11, 12, 12, 12<;yakiwwi;algebra<12, 11, 10<;biology<10, 9, 8<;
Автор решения: Namerek
→ Ссылка
text = 'mishagavura;algebra<10, 12, 11<;biology<10, 11, 12<;physiks<11, 11, 12, 12, 12<; yakiwwi;algebra<12, 11, 10<;biology<10, 9, 8<;'
print(re.sub(r'(physiks.+?)<;', r'\1, 88<;', text))
# mishagavura;algebra<10, 12, 11<;biology<10, 11, 12<;physiks<11, 11, 12, 12, 12, 88<; yakiwwi;algebra<12, 11, 10<;biology<10, 9, 8<;