为什么string.letters在python和bpython之间有所不同?

Mat*_*son 6 python bpython

我今天遇到了一个奇怪的问题.我正在使用Python标准库的string模块letters变量,并注意到bpython中的结果与vanilla python中的结果不同.

我正在使用Python 2.7.3和bpython 0.10.1以及virtualenv 1.8.4.这就是我所看到的.

$ bpython
>>> import string
>>> string.letters
'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'


$ python
>>> import string
>>> string.letters
'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
Run Code Online (Sandbox Code Playgroud)

我不确定它是否重要,但我在xubuntu 12.10上运行它.

有人可以解释一下这里发生了什么吗?

Dmi*_*nko 4

文档中, string.letters 定义为

下面描述字符串小写和大写的串联。具体值与语言环境相关,并且会在调用 locale.setlocale() 时更新。

所以可能是您的区域设置不同。

  • 我想这可能是对的:“bpython”显示“locale”为“('en_US', 'UTF-8')”,而“python”显示“locale”为“(None, None)” (4认同)