shell 如何隐藏python3交互控制台中的>>>提示符?有没有标记?

0md85ypi  于 2023-02-24  发布在  Shell
关注(0)|答案(1)|浏览(118)

出于复制和粘贴的目的,我希望在交互式环境控制台中隐藏>>>... Python提示符,我已经成功地使用命令import sys,然后sys.ps1 = ""实现了这个效果(source)。然而,这仅仅隐藏了>>>。此外,标记将简化工作,并且由于其他语言具有这种类型的标记,我不知道我是不是在重新发明轮子。
例如,在使用Db2的数据库编程中,有一个+p flag,由于它被描述为负面的,它的作用与-p相反:
p选项告诉命令行处理器在用户处于交互模式时显示命令行处理器提示符。
有捷径吗?

7gyucuyw

7gyucuyw1#

python -i scriptname.py运行scriptname.py,然后进入交互式环境。如果该脚本清除sys.ps1sys.ps2,则交互式环境将不打印提示。
更棒的是,您可以使用shell特性process substitution创建一个临时文件名(类似于/dev/fd/10,具体取决于您的操作系统),在读取该文件名时,它将包含您想要的脚本:

pnp() { python -i <(printf '%s\n' 'import sys' 'sys.ps1=""' 'sys.ps2=""') "$@"; }

......如果放在.bashrc中,将定义一个执行上述操作的命令pnp(“python,no prompt”)。

相关问题