ホームページ >バックエンド開発 >Python チュートリアル >setdefaultencoding関数の使い方を詳しく紹介
sys.getdefaultencoding() は、string のデフォルトのエンコード形式を設定します。 python2.x のデフォルトのエンコーディングは ascii です。これが、ほとんどの Python エンコーディング エラー「UnicodeDecodeError: 'ascii' codec can't decode byte...」の原因です。同様の機能を持つ
#coding:utf-8 は、ソース コードのエンコーディングを定義するために使用されます。これが定義されていない場合、ソース コードに中国語の
stringsを含めることはできません。 注: python2.7 以降。
setdefaultencoding は放棄されたため、python3.sys モジュールでは使用できません。これは、ここでの import ステートメントが実際には sys の最初の import ステートメントではなく、これが実際には sys モジュールの 2 番目または 3 番目のインポートである可能性があることを意味します。これは sys への単なる参照であり、ロードをリロードすることしかできません。
では、なぜリロードする必要があるのに、関数を直接参照して呼び出すことができないのでしょうか? setdefaultencoding 関数はシステムによって呼び出された後に削除されるため、インポートを通じて参照されるときには存在しません。そのため、setdefaultencoding が使用可能になり、インタープリターの現在の文字エンコーディングが使用可能になるように、sys モジュールを一度再ロードする必要があります。コードで変更されました。
インストールディレクトリの Lib フォルダーに、site.py というファイルがあります。その中に
main() --> setencoding()-->sys.setdefaultencoding があります。 (encoding), このsite.pyはPythonインタプリタを起動するたびに自動的に読み込まれるため、main関数は毎回実行され、setdefaultencoding関数は出たらすぐに削除されます。
以上がsetdefaultencoding関数の使い方を詳しく紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。