Why is string.letters different between python and bpython?

2.4k views Asked by At

I ran into a strange issue today. I was using the Python standard library's string module's letters variable and noticed that the result in bpython was not the same as the result in vanilla python.

I'm using Python 2.7.3 and bpython 0.10.1 and virtualenv 1.8.4. Here is what I'm seeing.

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


$ python
>>> import string
>>> string.letters
'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'

I'm not sure that it matters but I'm running this on xubuntu 12.10.

Can someone please explain what is going on here?

1

There are 1 answers

2
Dmitry Shevchenko On BEST ANSWER

From the docs, string.letters is defined as

The concatenation of the strings lowercase and uppercase described below. The specific value is locale-dependent, and will be updated when locale.setlocale() is called.

So it could be that your locale is different.