Pasar variable para ejecutar comando
Publicado por epicteto (46 intervenciones) el 15/02/2014 18:31:27
Hola
Tengo un programa .py desde el que quiero ejecutar sed para que me inserte una línea en un fichero en una posición concreta y con un contenido determinado. He decido usar sed porque creo que es más fácil que hacerlo con python.
En principio, para que inserte en archivo.txt, en la línea 3, la palabra texto, es tan fácil como hacer un .py con:
---
import os
os.system('sed -i "3i\texto" archivo.txt')
---
El problema es que el texto a insertar quiero que sea una variable, o sea, esto:
---
variable="texto a insertar"
import os
os.system('sed -i "3i\variable" archivo.txt')
-----
y así lo que hace es insertar el texto "variable", no el contenido de la variable. He probado de varios modos y no encuentro la sintaxis correcta... quizás incluso no se pueda hacer.
¿podéis ayudarme?
Gracias
Tengo un programa .py desde el que quiero ejecutar sed para que me inserte una línea en un fichero en una posición concreta y con un contenido determinado. He decido usar sed porque creo que es más fácil que hacerlo con python.
En principio, para que inserte en archivo.txt, en la línea 3, la palabra texto, es tan fácil como hacer un .py con:
---
import os
os.system('sed -i "3i\texto" archivo.txt')
---
El problema es que el texto a insertar quiero que sea una variable, o sea, esto:
---
variable="texto a insertar"
import os
os.system('sed -i "3i\variable" archivo.txt')
-----
y así lo que hace es insertar el texto "variable", no el contenido de la variable. He probado de varios modos y no encuentro la sintaxis correcta... quizás incluso no se pueda hacer.
¿podéis ayudarme?
Gracias
Valora esta pregunta


0