前提・実現したいこと
O'reillyの『入門python3』でpython勉強中です。
setlocale()を使ってロケールを変更し月名と日、曜日をアメリカ英語やフランス語で表示するコードを試したのですが、エラーが発生してしまいました。
しかし、エラーが発生した後にもう一度同じコードを入力すると今度はうまくいきます。
原因がわからないので、教えていただきたいです。
発生している問題・エラーメッセージ
Traceback (most recent call last): File "<stdin>", line 1, in <module> File "C:\Users\USER\Anaconda3\lib\locale.py", line 604, in setlocale return _setlocale(category, locale) locale.Error: unsupported locale setting
該当のソースコード
python
1locale.setlocale(locale.LC_TIME, 'en_us')
試したこと
上述した通り、同じコードをエラーがでたあとに再度入力すると今度はうまくいき('en_us'と表示され)、ロケール設定をアメリカ英語に変更することができます。
この変更の後、例えば'en_us'を'fr_fr'に代えたコードを入力すると同じエラーが出ますが、この時も同じコードを再度入力するとエラーが発生せずロケール設定の変更が可能です。
回答を受けていろいろ試してみました
- 'en_us'→'en_UN'(国名を大文字に変更)番号リスト
小文字の時と同じように、一度はエラーが出ますが、再度入力すると通ります。
また、locale.setlocale(locale.LC_TIME, 'en_US')が通ったあとに、'en_US'を'en_us'に代えたコードを入力すると今度はエラーが発生しました。
python
1locale.setlocale(locale.LC_TIME, 'en_US') 2#一回目はエラーが発生 3locale.setlocale(locale.LC_TIME, 'en_US') 4#再度入力すると今度は'en_US'と返され、うまくいきます 5locale.setlocale(lcale.LC_TIME, 'en_us') 6#さらに国名小文字コードを入力するとまたエラーが発生します
- 'en_us'→'適当な文字列'
エラーが発生し、再度入力しても通ることはありませんでした。
補足情報(FW/ツールのバージョンなど)
windows 10 home, python3.7
回答2件
あなたの回答
tips
プレビュー
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
2019/08/03 10:33
2019/08/03 10:59
2019/08/03 11:24
2019/08/03 12:08
2019/08/03 12:33 編集
2019/08/03 12:34
2019/08/03 13:21
2019/08/03 13:27
2019/08/04 05:30