我知道我可以在python-3中使用:isinstance(x, str).但是我需要判断python-2中是否有字符串.x也是.isinstance(x, str)将在python-2中正常工作.十、或者我需要判断版本并使用isinstance(x, basestr)吗?

具体来说,在python-2中.x:

>>>isinstance(u"test", str)
False

还有python-3.x没有u"foo"

推荐答案

如果你在写2.x-3.与x兼容的代码,您可能希望使用six:

from six import string_types
isinstance(s, string_types)

Python-3.x相关问答推荐

将Trio与基于线程的事件侦听器混合使用

如何通过Pandas为不同的列集垂直设置列数据?

Python避免捕获特定异常

我想判断df_entry_log[AM_PM],并根据测试填充列

PythonPandas READ_EXCEL空数据帧

如何将从维基百科表中抓取的数据转换为字典列表?

在 pytest 中,如何测试 sys.exit('some error message')?

如何将列表和字典逐行组合在一起

双轴上的刻度和标签

Python Regex 查找给定字符串是否遵循交替元音、辅音或辅音、元音的连续模式

为列表列表中的每个列表插入 str 到 index[0] 中. Python

Python多进程:运行一个类的多个实例,将所有子进程保留在内存中

如何在带有 GUI 的 python 游戏中设置回答时间限制?

无法在 Windows Python 3.5 上安装 Levenshtein 距离包

如何使 Python3 成为 Geany 中的默认 Python

无论如何我可以在 Google colaboratory 中下载文件吗?

使用 asyncio 的多个循环

用 Anaconda 安装了一个包,无法在 Python 中导入

如何避免使用我的 python 包构建 C 库?

Python 3中星型导入的函数形式是什么