我想知道是否有人对编写向后兼容的 input() 调用来检索文件路径有建议?
在Python 2.x中,raw_input对于像/path/to/file这样的输入工作得很好。在这种情况下,使用输入在 3.x 中工作正常,但在 2.x 中由于 eval 行为而出现问题。
一种解决方案是检查 Python 的版本,并根据版本映射input
or raw_input
到一个新函数:
if sys.version_info[0] >= 3:
get_input = input
else:
get_input = raw_input
我确信有更好的方法来做到这一点。有人有什么建议吗?
从Python 2.x版本开始input()
本质上是没用的,你可以简单地覆盖它raw_input
:
try:
input = raw_input
except NameError:
pass
一般来说,我不会尝试针对同时适用于 Python 2.x 和 3.x 的代码,而是以适用于 2.x 的方式编写代码,然后通过以下方式获得可工作的 3.x 版本:使用2to3
script.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)