Comment puis-je exécuter une commande bash à partir du bloc-notes Ipython/Jupyter en passant la valeur d'une variable python comme argument comme dans cet exemple:
py_var="foo"
!grep py_var bar.txt
(évidemment, je veux grep pour foo
et non la chaîne littérale py_var
)
Préfixez vos variables noms avec un $
.
Exemple
Supposons que vous souhaitiez copier un fichier file1
vers un chemin stocké dans une variable python nommée dir_pth
:
dir_path = "/home/foo/bar"
!cp file1 $dir_path
depuis le cahier Ipython ou Jupyter
MODIFIER
Grâce à la suggestion de Catbuilts, si vous souhaitez concaténer plusieurs chaînes pour former le chemin, utilisez {..}
au lieu de $..$
. Une solution générale qui fonctionne dans les deux situations consiste à s'en tenir à {..}
dir_path = "/home/foo/bar"
!cp file1 {dir_path}
Et si vous voulez concaténer une autre chaîne sub_dir
vers votre chemin, puis:
!cp file1 {dir_path + sub_dir}
Vous pouvez également utiliser cette syntaxe:
path = "../_data/"
filename = "titanicdata.htm"
! less {path + filename}