测试,而在蟒蛇的Cmd.cmd框架后,我发现一个问题,我不知道该怎么办。另外,我认为有这个工作几个小时之前(或者我只是疯了),所以这更是不可思议。

我有下面的示例代码,在Windows和Linux系统测试(所以它不是一个Windows的问题),但标签完成根本不起作用。

如果我使用的完全一样的的代码在Python 2它在Linux系统上工作(而不是在Windows的一个虽然)

import cmd
class Shell ( cmd.Cmd ):    
    def do_test ( self, params ):
        print( 'test: ' + params )

    def do_exit ( self, params ):
        return True

    def do_quit ( self, params ):
        return True

if __name__ == '__main__':
    x = Shell()
    x.cmdloop()

你知道为什么会这样,还是我能做些什么,以使标签完成可能吗?

有帮助吗?

解决方案

它实际上是对我的作品在Linux上都Python 2和3。但是,我的Python安装与readline的支持,它是自动这是需要编译每的 CMD文档。我怀疑你的Linux的Python 3不与它编译。

不幸的是,readline的是Unix的特定。请参见蟒蛇标签完成Windows中的Windows上的其他选项的讨论的。

其他提示

我得到了它在Windows上工作,我安装从这里pyreadline模块后 https://开头的PyPI .python.org /的PyPI / pyreadline / 2.0

在Mac存在单机GNU的readline模块。结果 你可以用pip install gnureadline得到它。结果 它已经过测试与Python 2.6,2.7,3.2和3.3。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top