如何在python3中运行python2程序?

我正在尝试运行我在 Python3 中使用 Python2 程序编写的程序。我正在尝试对其语法进行任何必要的更改以使其正常工作,但我被困在以下代码行中。


raise AttributeError, fn + ' is not a search function in search.py.'

当我在 Python2 中运行它时它工作正常,但是在尝试在 Python3 中运行它时我不断收到以下语法错误。


Traceback (most recent call last):

  File "autograder.py", line 345, in <module>

    moduleDict[moduleName] = loadModuleFile(moduleName, os.path.join(options.codeRoot, cp))

  File "autograder.py", line 134, in loadModuleFile

    return imp.load_module(moduleName, f, "%s.py" % moduleName, (".py", "r", imp.PY_SOURCE))

  File "/usr/lib/python3.6/imp.py", line 235, in load_module

    return load_source(name, filename, file)

  File "/usr/lib/python3.6/imp.py", line 172, in load_source

    module = _load(spec)

  File "<frozen importlib._bootstrap>", line 684, in _load

  File "<frozen importlib._bootstrap>", line 665, in _load_unlocked

  File "<frozen importlib._bootstrap_external>", line 674, in exec_module

  File "<frozen importlib._bootstrap_external>", line 781, in get_code

  File "<frozen importlib._bootstrap_external>", line 741, in source_to_code

  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed

  File "searchAgents.py", line 71

    raise AttributeError, fn + ' is not a search function in search.py.'

                        ^

SyntaxError: invalid syntax


跃然一笑
浏览 501回答 1
1回答

慕容森

这种引发异常的语法已从 python 3中删除您需要将异常代码更改为:raise&nbsp;AttributeError(fn&nbsp;+&nbsp;'&nbsp;is&nbsp;not&nbsp;a&nbsp;search&nbsp;function&nbsp;in&nbsp;search.py.')这个问题中提供的答案更详细 -&nbsp;Manually raise (throw) an exception in Python
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python