Python Cmd模块,子类化问题

Tei*_*ion 6 python

我正在尝试找出这段代码中没有用的东西:

#!/usr/bin/python

import cmd

class My_class (cmd.Cmd):
    """docstring for Twitter_handler"""
    def __init__(self):
        super(My_class, self).__init__()

if __name__ == '__main__':
    my_handler = My_class()
Run Code Online (Sandbox Code Playgroud)

这是我得到的错误

Traceback (most recent call last):
  File "main.py", line 12, in <module>
    my_handler = My_class()
  File "main.py", line 9, in __init__
    super(My_class, self).__init__()
TypeError: super() argument 1 must be type, not classobj
Run Code Online (Sandbox Code Playgroud)

如果我将"My_c​​lass"的超类更改为对象,它可以正常工作.我哪里错了?

Ste*_*202 7

cmd.Cmd不是Python 2.5,2.6,2.7中的新样式类.

请注意,您的代码并没有在Python 3.0抛出异常.

  • 它可能会奏效.但你有一个新的Cmd类在地球上唯一的python 2.x安装...不要让你发布的任何代码依赖于:) (2认同)