例如,我发现在包含Python 2库函数时,download_model_binary.py的shebang是错误的urllib.urlretrieve
.
我尝试使用两个python解释器来执行该文件并在脚本中查看其返回值,但它会导致副作用.
注意:我问的是如何检测现有Python 2脚本的正确版本,如download_model_binary.py
错误的shebang,而不是如何将其重写为兼容.
你可以这样做:
import sys if sys.version_info.major < 3: from urllib import urlretrieve else: from urllib.request import urlretrieve
以后使用:
urlretrieve(frontmatter['caffemodel_url'], model_filename, reporthook)
如果您需要,请经常考虑使用Python Future.它为这类问题提供了一个很好的解决方案.