¿Cómo pasar una variable como un argumento de línea de comando en iPython?

Por ejemplo, tengo un módulo Python y un módulo iPython,

cmd.py

import sys print sys.argv 

test.ipynb

 for i in range(5): %run cmd.py i 

Cuando ejecuto test.ipynb, simplemente imprime [‘cmd.py’, ‘i’] varias veces. ¿Cómo puedo pasar el valor de i en lugar de ‘i’ como un argumento de línea de comando?

el modo shell interpreta todo literalmente (de lo contrario, cmd.py se evaluaría cmd.py ). Yo solo haría:

 for i in range(5): %run cmd.py $i 

de http://ipython.readthedocs.io/en/stable/interactive/reference.html

IPython también le permite ampliar el valor de las variables de Python al realizar llamadas al sistema. Ajustar variables o expresiones en {llaves}:

Para casos simples, alternativamente puede agregar $ a un nombre de variable