python3shell里如何换行输入_如何向python交互shell添加命令?

我正试图为我在python中经常输入的命令节省一些按键。

在我的

python startup script

,我定义了一个名为LOAD的函数,它与IMPORT类似,但添加了一些功能。它只需要一个字符串:

def load(s):

# Do some stuff

return something

为了调用这个函数,我必须键入

>>> load('something')

我宁愿简单地输入:

>>> load something

我和巨蟒一起跑

readline

支持,所以我知道这里存在一些可编程性,但是我不知道使用它是否可以实现这类功能。

我试图用

InteractivConsole

在我的启动文件中创建它的一个实例,如下所示:

import code, re, traceback

class LoadingInteractiveConsole(code.InteractiveConsole):

def raw_input(self, prompt = ""):

s = raw_input(prompt)

match = re.match('^load\s+(.+)', s)

if match:

module = match.group(1)

try:

load(module)

print "Loaded " + module

except ImportError:

traceback.print_exc()

return ''

else:

return s

console = LoadingInteractiveConsole()

console.interact("")

这一点需要注意,我必须按两次ctrl-d才能退出python解释器:一次退出自定义控制台,一次退出真正的控制台。

有没有一种方法可以做到这一点,而不需要编写一个自定义的C程序并将解释器嵌入其中?

编辑

在频道之外,我建议将此附加到启动文件的末尾:

import sys

sys.exit()

它工作得很好,但我仍然对其他解决方案感兴趣。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值