2013-06-29 2 views
1

안드로이드에서 특정 타블렛을위한 레포를 복제하고 소스를 얻으려면 파이썬 스크립트를 실행해야합니다. 스크립트의Python raise SyntaxError

Traceback (most recent call last): 
File "/home/p1rox/android-imx-sources/.repo/repo/main.py", line 40, in <module> 
from subcmds.version import Version 
File "/home/p1rox/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 

답변

3

가 있어야한다 :

raise SyntaxError('%s/%s does not define class %s' % (__name__, py, clsn)) 
내가 그것을 실행하면이 오류 메시지가 있어요
관련 문제