Цель: чтобы изменить символы «u» справа от пронумерованных значений (см. второй столбец ниже; например, «114.30u») как «o». Однако если после строки начинается буква «o» или «u», то символом должна быть «s» (см. первый столбец ниже). Файлы могут состоять из 10-100 строк в зависимости от того, как они созданы. Однако все они придерживаются одного и того же формата строк, приведенного ниже, только корректируя значения и перемещая блоки кода (BO, AK, SI и т. д.).
Пример текста в файле .nc1 (заголовок не показан):
Код: Выделить всё
BO
o 114.30u 78.61 11.11 0.00
o 1212.85u 78.61 11.11 0.00
o 381.00u 78.61 11.11 0.00
SI
h 63.50u 63.50 0.00 25rX.0000005-B12
AK
o 0.00u 100.84 0.00
o 1327.15u 100.84 0.00
o 1327.15u 0.00 0.00
o 0.00u 0.00 0.00
o 0.00u 100.84 0.00
AK
u 1327.15u 100.84 0.00
u 0.00u 100.84 0.00
u 0.00u 0.00 0.00
u 1327.15u 0.00 0.00
u 1327.15u 100.84 0.00
PU
v 133.35u 136.91 0.00
v 133.35u 60.71 0.00
EN
Код: Выделить всё
initialCode = []
with open ("filepath\\file.nc1", "r") as reader:
for line in reader.readlines():
initialCode.append(line)
WebHoles = []
NewCode = []
for chars in initialCode:
whatWeNeed = chars.replace("u","o")
WebHoles.append(whatWeNeed)
for chars in WebHoles:
whatWeNeed = chars.replace("\n","")
NewCode.append(whatWeNeed)
with open ("filepath\\file [OPTIMIZED].nc1", "w") as writer:
for i in NewCode:
writer.write(i)
writer.write("\n")
Вот ожидаемый результат из исходного примера выше (заголовок не показан):
Код: Выделить всё
BO
o 114.30s 78.61 11.11 0.00
o 1212.85s 78.61 11.11 0.00
o 381.00s 78.61 11.11 0.00
SI
h 63.50o 63.50 0.00 25rX.0000001-B12
AK
o 0.00s 100.84 0.00
o 1327.15s 100.84 0.00
o 1327.15s 0.00 0.00
o 0.00s 0.00 0.00
o 0.00s 100.84 0.00
AK
u 1327.15s 100.84 0.00
u 0.00s 100.84 0.00
u 0.00s 0.00 0.00
u 1327.15s 0.00 0.00
u 1327.15s 100.84 0.00
PU
v 133.35o 136.91 0.00
v 133.35o 60.71 0.00
EN
Любая помощь по этому вопросу будет принята с благодарностью. Прошу прощения, что я не продвинулся в этом вопросе, так как я на самом деле не программист.
Подробнее здесь: https://stackoverflow.com/questions/785 ... iple-files