Python中向后兼容的输入调用

发布于 2021-01-29 18:37:19

我想知道是否有人建议编写一个向后兼容的input()调用来检索文件路径?

在Python 2.x中,raw_input适用于/ path / to /
file之类的输入。在这种情况下,对于3.x使用输入可以正常工作,但是由于评估行为,在2.x中会抱怨。

一种解决方案是检查Python的版本,并根据该版本映射input或映射raw_input到新函数:

if sys.version_info[0] >= 3:
    get_input = input
else:
    get_input = raw_input

我相信有更好的方法可以做到这一点。有人有什么建议吗?

关注者
0
被浏览
45
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    由于的Python 2.x版本input()实际上是无用的,因此您可以通过raw_input以下方式简单地覆盖它:

    try:
        input = raw_input
    except NameError:
        pass
    

    总的来说,我不会试图针对同时适用于Python
    2.x和3.x的代码,而是以一种可在2.x上运行的方式编写代码,并通过以下方式获得有效的3.x版本使用2to3脚本。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看