Python-Codierung: Ich bin mir bei Nintoka nicht sicher, also habe ich es nachgeschlagen

Das Kissenwort in der zweiten Zeile

Schreiben Sie vorerst Shebang in die erste Zeile und in die zweite Zeile.

haiku_wo_yome.py


#!/usr/bin/python
# -*- Coding: utf-8 -*-

Es ist eine magische Aussage, die definiert, wie der Python-Quellcode codiert werden soll. Dieses Beispiel funktioniert übrigens nicht. Weil C eine obere Hauptstadt ist. wurde süchtig.

was ist damit. Was zum Teufel Codierung: Was ist Nantoka? Lass es uns überprüfen.

Lesen Sie PEP 263

Ich habe versucht, es herauszufinden, aber alles ist in PEP 263 geschrieben. Wie erwartet Python. Deshalb werde ich es versuchen.

Warum ist es überhaupt notwendig?

Grob gesagt, Bis Python 2.1 war die einzige Möglichkeit, Unicode-Zeichen zu schreiben, die Verwendung von Escape-Sequenzen. Sie können für 8-Bit-Zeichen eine beliebige Codierung verwenden, es gibt jedoch Einschränkungen. Es scheint, dass ... Es ist eigentlich unpraktisch. Dieser Bereich kann hilfreich sein, um über Zeichencodes in Python zu sprechen. UTF-8 bequem.

Wie es funktioniert

Standard ist ASCII

Wenn für die Codierung nichts angegeben ist, wird sie als ASCII interpretiert.

Schreiben Sie in die erste oder zweite Zeile

Liegt es daran, dass die zweite Zeile in Ordnung ist?

Format

Sie können dies einfach tun.

simple.py


# coding=<encoding name>

Oft benutzt:

emacs.py


#!/opt/local/bin/python
# -*- coding: <encoding name> -*-

Diese Notation scheint von Emacs zu stammen. Mit vim:

vim.py


#!/emacs/or/vim/python
# vim: set fileencoding=<encoding name> :

Wie schreibst du es, um erkannt zu werden?

Wenn die erste oder zweite Zeile mit dem nächsten Muster übereinstimmt, wird das Innere der Klammern als Zeichencode erkannt. [^ 1]

"coding[:=]\s*([-\w.]+)"

Solange Sie es so schreiben, dass es dem entspricht, stimmt es mit dem Editor überein. Darüber hinaus ist die folgende Notation möglich.

wazamae.py


#!/mongoose/vs/python
# This Python file uses the following encoding: utf-8

jillypoor.py


#!/neko/nadetai/python
# Current encoding: shift-jis is not good for this environment.

Recommended Posts

Python-Codierung: Ich bin mir bei Nintoka nicht sicher, also habe ich es nachgeschlagen
Ich dachte "Was ist Linux?", Also habe ich es nachgeschlagen.
AWS Lambda unterstützt jetzt Python, also habe ich es versucht
Ich konnte das Python-Modul nicht mit VSCODE importieren, aber auf juoyterlab konnte ich die Ursache finden.
[Super-Grundlagen von Python] Ich habe die Grundlagen der Grundlagen gelernt und sie daher kurz zusammengefasst.