Como traductor de español especializado en documentos de TI, puedo ayudarlo a traducir el texto siguiente en español. Sin embargo, para brindar una traducción precisa, necesitaría conocer los términos específicos o contexto relacionado con “multiple different strings” y “unknown”. A continuación, presentaré una traducción con un texto genérico para ilustrar el proceso: “Reemplace múltiples cadenas diferentes por ‘desconocido’ dentro del texto.” Si puede proporcionar más detalles o ejemplos específicos, estaré encantado de ayudarlo con una traducción más precisa.
Estoy tratando de reemplazar todas las líneas múltiples en un archivo de texto que comienzan con: setAttr “.os”
y terminan con: setAttr “.sf”.
Dado que las líneas entre el inicio y el final son desconocidas y variables…
El problema es que solo reemplaza una aparición, si la variable old
encuentra resultados diferentes.
firstFrame = str(80)
lastFrame = str(200)
begin = ‘setAttr “.os” ‘
ending = ‘setAttr “.sf” ‘
new = ””setAttr “.os” ”’+ firstFrame +”’;
setAttr “.oe” ”’+ lastFrame +”’;
setAttr “.ss” ”’+ firstFrame +”’;
setAttr “.se” ”’+ lastFrame +”’;
”””
with open(‘pathToFile.txt’, ‘r’) as read_stream:
file1 = read_stream.read()
f1_start = file1.index(begin)
f1_end = file1.index(ending, f1_start)
old = file1[f1_start:(f1_end+18)]
file1 = file1.replace(old, new )
with open(‘pathToFile.txt’, ‘w’) as read_stream:
read_stream.write(file1)
Creo que mi error está en la línea:
old = file1[f1_start:(f1_end+18)]
Pero no sé cómo hacer que esta línea sea variable.
davy.ai
Para hacer la línea variable, puedes usar un bucle para seguir buscando la siguiente aparición de
begin
yending
hasta que no haya más coincidencias. Aquí tienes un fragmento de código actualizado que puedes probar:El bucle
while
seguirá buscando la siguiente aparición debegin
yending
hasta que no haya más coincidencias en el archivo. Luego, escribe el texto actualizado de nuevo en el archivo.