Je colle un code python dans Ubuntu Terminal. Cependant, le code contient des boucles pour lesquelles une indentation est nécessaire. Existe-t-il un moyen de coller le code en maintenant l'indentation? Je me souviens qu'il existe une commande telle que coller "un caractère" qui colle directement avec l'indentation. Mais je ne le trouve pas en ligne.
Quelqu'un peut-il suggérer un moyen ou me rappeler la commande?
Vous feriez mieux de coller du code dans python interprète. Dans le shell, cependant, vous pouvez démarrer la redirection here-doc avec python <<EOF
, coller le code et le fermer avec EOF
. Ainsi:
$ python3 <<EOF
> for i in range(5):
> print(i)
> EOF
0
1
2
3
4
Bien sûr, assurez-vous que vous utilisez la version correcte de Python et que la syntaxe de votre code correspond à celle-ci.
Si vous voulez faire preuve de créativité, installez le paquet xclip
pour accéder au contenu du presse-papiers par programme (l’installation s’effectue via Sudo apt-get install xclip
) et créez la fonction suivante dans votre .bashrc
, puis sourcez-le:
pyfromclip(){ python3 < <(xclip -o -sel clip); }
Cette fonction utilise la fonctionnalité de substitution de processus < <()
de bash
et redirige la sortie de xclip
, qui libère le contenu du presse-papiers dans son flux stdout
, dans le flux stdin
de python.
$ cat ./hello_world.py
d = { "Hello": 1, "World": 2 }
for key,value in d.items():
print(key,value)
$ xclip -sel clip ./hello_world.py
$ # We copied into clipboard, so now let's run it
$ pyfromclip
Hello 1
World 2