簡體   English   中英

如何在python3中運行python2程序?

[英]How to run a python2 program in python3?

我正在嘗試運行我在 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

這種引發異常的語法已從 python 3刪除

您需要將異常代碼更改為以下內容:

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

這個問題中提供的答案更詳細 - 在 Python 中手動引發(拋出)異常

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM