Как я могу изменить кодовую страницу Windows в Python? - PullRequest
1 голос
/ 26 августа 2010
>>> a = os.popen('chcp 65001')
>>> a.read()
'Active code page: 65001\n'
>>> a.close()
>>> a = os.popen('chcp')
>>> a.read()
'Active code page: 437\n'
>>> a.close()

После того, как я установил кодовую страницу на 65001, в следующий раз, когда я вызову chcp, он должен сказать, что активная кодовая страница - 65001, а не 437. Я попробовал это в командной строке Windows, и это сработало. Почему он не работает через код Python?

1 Ответ

1 голос
/ 26 августа 2010

Причина в том, что каждый раз, когда вы звоните os.popen, вы порождаете новый процесс. Попробуйте открыть две cmd.exe сессии и запустить chcp 65001 в одной и chcp в другой - это то, что вы делаете здесь, в своем коде Python.

Стоит отметить: все вызовы [popen*()][1] устарели с Python 2.6. Новый используемый модуль - это модуль subprocess.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...