1

Android で特定のタブレットのレポを複製しています。ソースを取得するには、python スクリプトを実行する必要があります。実行すると、次のエラー メッセージが表示されます。

Traceback (most recent call last):
 File "/home/user/android-imx-sources/.repo/repo/main.py", line 40, in <module>
from subcmds.version import Version
File "/home/user/android-imx-sources/.repo/repo/subcmds/__init__.py", line 41
raise SyntaxError, '%s/%s does not define class %s' % (
                 ^
SyntaxError: invalid syntax

スクリプトの完全なコード:


    import os

    all_commands = {}

    my_dir = os.path.dirname(__file__)
    for py in os.listdir(my_dir):
      if py == '__init__.py':
        continue

      if py.endswith('.py'):
        name = py[:-3]

        clsn = name.capitalize()
        while clsn.find('_') > 0:
          h = clsn.index('_')
          clsn = clsn[0:h] + clsn[h + 1:].capitalize()

        mod = __import__(__name__,
                         globals(),
                         locals(),
                         ['%s' % name])
        mod = getattr(mod, name)
        try:
          cmd = getattr(mod, clsn)()
        except AttributeError:
          raise SyntaxError, '%s/%s does not define class %s' % (
                             __name__, py, clsn)

        name = name.replace('_', '-')
        cmd.NAME = name
        all_commands[name] = cmd

    if 'help' in all_commands:
      all_commands['help'].commands = all_commands

4

1 に答える 1

3

それは次のようになります。

raise SyntaxError('%s/%s does not define class %s' % (__name__, py, clsn))
于 2013-06-29T09:45:44.187 に答える