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