画像クレジット: matejmo / iStock / GettyImages
Pythonでは、CRLFはキャリッジリターンとラインフィードを指します。 この文字のペアは、多くのコンピューターファイルのテキスト行を終了するために使用され、タイプライターユーザーが入力行の最後に実行するアクションをモデルにしています。 Pythonでは、文字列連結演算子を使用して手動で文字列に追加するか、画面またはファイルに印刷する文字列に追加するように指定できます。
PythonとCRLF
オペレーティングシステムが異なれば、テキストファイルに改行が含まれていることを示す方法も異なります。 これは通常、特定の数値コードで定義されているキャリッジリターン文字とラインフィード文字を組み合わせて実行されます。
今日のビデオ
従来、Microsoftオペレーティングシステムはキャリッジリターンとそれに続く改行を使用し、Linuxや最近のバージョンのApplemacOSを含むUnixシステムは単一の改行のみを使用します。 古いMacシステムでは、キャリッジリターンが1つしか使用されていませんでした。
多くのテキスト処理プログラムは、使用されている行末を検出し、ファイルを開いて表示することができます 通常ですが、プログラムがこの推測を行うように設定されていない場合、またはそうする場合、テキストが壊れることがあります。 間違って。 Pythonはさまざまなシステムで実行されるプログラミング言語であるため、さまざまな種類の行末を処理できる必要があります。
文字列に行末を追加する
複数の文字列を結合するプラス記号連結演算子を使用して、Pythonの文字列に選択した行末を手動で追加します。
たとえば、「abc」+「def」は結果として文字列「abcdef」を生成します。 Pythonでは、キャリッジリターンは文字列\ rで表され、改行文字は文字列\ nで表されます。 バックスラッシュは、次の文字が特別な意味を持つことをPythonに通知するエスケープ文字です。 実際の円記号を入力するには、その前に2つ目の円記号を付けて、Pythonにもそれをエスケープさせます。
文字列にキャリッジリターンと改行を追加するには、プラス記号を使用して文字列 "\ r \ n"を追加します。
CRLFを使用した印刷
デフォルトでは、Python2のprint演算子とPython3のprint関数は、文字列またはファイルに出力されるテキストの各行の末尾に、改行文字ではなく改行文字のみを追加します。 Python2とPython3はどちらも広く使用されていますが、印刷の処理方法が少し異なります。
Python 2では、各行に正しい末尾を自分で追加し、入力後のprintステートメントの末尾にコンマを追加して、Python自体の行の末尾を抑制します。 たとえば、「print "This is a test" + "\ r \ n"」と入力して、キャリッジリターンと改行を含む文字列 "This is atest"を出力できます。
Python 3では、「print」は特別な演算子ではなく関数です。 使用する行末を指定する「end」という引数を取ります。 'Print( "This is a test"、end = "\ r \ n")'は、キャリッジリターンと改行文字を使用して文を印刷します。 デフォルトでは、end引数は単に改行文字です。