Hola a todos, estoy trabajando en python. He llamado a un programa c usando

import os
cmd = 'gcc a.c -o a'
os.system(cmd)

Necesito pasar dos argumentos durante la ejecución del programa c a través de python. Pasar los argumentos está hecho. Pero no puedo pasar una variable de p1 que se genera en código python. Cómo pasar un dato / cadena almacenado en una variable como argumento.

p1 = word[:int(n_length)]
cmd1 = './a p1 going'
os.system(cmd1)

Actualmente, p1 se pasa como argumento, no se pasa la cadena de p1. Por favor hep

-1
Atanu Mandal 31 oct. 2017 a las 12:15

3 respuestas

La mejor respuesta

Puedes probar esto:

cmd1 = './a {} going'.format(p1)
1
Huu-Danh Pham 31 oct. 2017 a las 09:17

Puedes intentar hacer esto:

p1 = word[:int(n_length)]
cmd1 = './a ' + str(p1) + ' going' # This appends the value of p1 in the string
os.system(cmd1)
0
Lukingan 31 oct. 2017 a las 09:23

Puede reemplazar el valor dentro de la cadena de comando antes de ejecutar

p1 = word[:int(n_length)]
cmd1 = './a {} going'.format(p1)
os.system(cmd1)
0
daemon24 31 oct. 2017 a las 09:20