缩进粘贴到终端

缩进粘贴到终端

我正在 Ubuntu 终端中粘贴一段 Python 代码。但是,代码包含需要缩进的 for 循环。有没有办法粘贴代码时保持缩进?我记得有一个命令,如 paste"some character",可以直接缩进粘贴。但我在网上找不到它。

有人可以建议一种方法或者提醒我命令吗?

答案1

最好将代码粘贴到 Python 解释器中。不过,在 Shell 中,你可以启动此处文档使用 进行重定向python <<EOF,粘贴代码,然后使用 关闭它EOF。像这样:

$ python3 <<EOF
> for i in range(5):
>     print(i)
> EOF
0
1
2
3
4

当然,请确保您使用的是正确的 Python 版本并且您的代码语法与之匹配。


如果您想要发挥创意,请安装xclip包以编程方式访问剪贴板内容(通过安装sudo apt-get install xclip),并在您的中创建以下函数.bashrc,然后获取它:

pyfromclip(){ python3 < <(xclip -o -sel clip); }

该函数使用 的进程替换< <()功能bash,并将 的输出重定向到 python 的流中,xclip从而将剪贴板内容释放到其流中。stdoutstdin

$ 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

相关内容