ホームページ > バックエンド開発 > Python チュートリアル > Pythonでtxtファイルの内容を読み取る方法

Pythonでtxtファイルの内容を読み取る方法

青灯夜游
リリース: 2023-01-07 11:42:58
オリジナル
209432 人が閲覧しました

Python で txt ファイルを読み取る方法: 1. read() 関数を使用して、txt ファイルの内容をバイトまたは文字ごとに読み取ります; 2. readline() 関数を使用して、 txt ファイルを 1 行ずつ読み込みます。 ;3. readlines() 関数を使用して、txt ファイル内の複数行のコンテンツを一度に読み取ります。

Pythonでtxtファイルの内容を読み取る方法

このチュートリアルの動作環境: Windows7 システム、Python3.7 バージョン、DELL G3 コンピューター

Python は次の 3 つの機能を提供します。ファイル内のデータを読み取る操作を実現するのに役立ちます:

  • read() 関数: ファイルの内容をバイトまたは文字ごとに読み取ります;

  • readline() 関数: ファイルの内容を 1 行ずつ読み取ります;

  • readlines() 関数: ファイルの複数行の内容を一度に読み取ります。

Python read() 関数

open() 関数の場合、読み取り可能モード ( r を含む) r、rb、rb)、read() 関数を呼び出して、ファイルの内容をバイトごと (または文字ごと) に読み取ることができます。

ファイルがテキスト モード (非バイナリ モード) で開かれた場合、read() 関数は 1 文字ずつ読み取ります。逆に、ファイルがバイナリ モードで開かれた場合、read() 関数は読み取ります。バイトごとに読み取ります。

read() 関数の基本的な構文形式は次のとおりです:

file.read([size])
ログイン後にコピー

このうち、file は開かれたファイル オブジェクトを表し、size は最大文字数を指定するために使用されるオプションのパラメータです。一度に読み取ることができる(バイト)数。省略した場合、デフォルトではすべてを一度に読み取ります。

たとえば、まず my_file.txt という名前のテキスト ファイルを作成します。その内容は次のとおりです。

Python教程
//m.sbmmt.com/course/list/30.html
ログイン後にコピー
ログイン後にコピー

次に、my_file.txt と同じディレクトリに file.py ファイルを作成し、次のように記述します。ステートメント:

#以 utf-8 的编码格式打开指定文件
f = open("my_file.txt",encoding = "utf-8")
#输出读取到的数据
print(f.read())
#关闭文件
f.close()
ログイン後にコピー

プログラムの実行結果:

Python教程
//m.sbmmt.com/course/list/30.html
ログイン後にコピー
ログイン後にコピー

ファイル操作が完了したら、close() 関数を呼び出して、開いているファイルを手動で閉じる必要があることに注意してください。プログラム内の不要なエラーを回避できること。

もちろん、size パラメーターを使用して、read() が毎回読み取ることができる最大文字数 (またはバイト) を指定することもできます。例:

#以 utf-8 的编码格式打开指定文件
f = open("my_file.txt",encoding = "utf-8")
#输出读取到的数据
print(f.read(6))
#关闭文件
f.close()
ログイン後にコピー

Program実行結果:

Python
ログイン後にコピー

明らかに、このプログラムの read() 関数は、my_file ファイルの最初の 6 文字のみを読み取ります。

繰り返しになりますが、size は一度に読み込める最大の文字数 (またはバイト数) を表すため、設定したサイズがファイルに格納される文字数 (バイト数) よりも大きい場合でも、 read() 関数はエラーを報告せず、ファイル内のすべてのデータを読み取るだけです。

さらに、バイナリ形式で開かれたファイルの場合、read() 関数はファイルの内容をバイトごとに読み取ります。例:

#以二进制形式打开指定文件
f = open("my_file.txt",'rb+')
#输出读取到的数据
print(f.read())
#关闭文件
f.close()
ログイン後にコピー

プログラムの実行結果は次のようになります:

b'Python\xe6\x95\x99\xe7\xa8\x8b\r\n//m.sbmmt.com/course/list/30.html'
ログイン後にコピー

出力データはバイト列のバイト列であることがわかります。 decode() メソッドを呼び出して、認識できる文字列に変換できます。

Python readline() 関数

readline() 関数は、最後の改行文字「\」を含むファイル内の行を読み取るために使用されます。ン」。この関数の基本的な構文形式は次のとおりです:

file.readline([size])
ログイン後にコピー

ここで、file は開いているファイル オブジェクトであり、size はオプションのパラメータであり、各行を読み取るときに一度に読み取る最大文字数 (バイト) を指定するために使用されます。 。

read() 関数と同様に、この関数がファイル データを正常に読み取るための前提条件は、ファイルを開くために open() 関数で指定されたモードが読み取り可能モード (r、rb、r を含む) である必要があることです。 、rb) )。

次のプログラムは、readline() 関数の具体的な使用法を示しています。

f = open("my_file.txt")
#读取一行数据
byt = f.readline()
print(byt)
ログイン後にコピー

プログラムの実行結果は次のとおりです。

Python教程
ログイン後にコピー

readline() 関数は、ファイル内の行の内容を読み込むと、最後の改行文字「\n」が読み取られ、内容を出力するときに print() 関数がデフォルトで内容をラップするため、出力結果に余分な空白行が表示されます。

それだけでなく、1 行ずつ読み取るときに、読み取ることができる最大文字数 (バイト) を制限することもできます。たとえば、次のようになります。

#以二进制形式打开指定文件
f = open("my_file.txt",'rb')
byt = f.readline(6)
print(byt)
ログイン後にコピー

実行結果は次のとおりです。

b'Python'
ログイン後にコピー

前の例の出力と比較すると、ここでは 1 行のデータが完全に読み取られていないため、改行文字は読み取られません。

Python readlines() 関数

readlines() 関数は、ファイル内のすべての行を読み取るために使用されます。この関数と呼び出しでは指定されません。 read() 関数は、各要素がファイル内のコンテンツの行である文字列のリストを返すことを除いて、関数と似ています。

readline() 関数と同様に、readlines() 関数は、行末の改行文字とともに各行を読み取ります。

readlines() 関数の基本的な構文形式は次のとおりです。

file.readlines()
ログイン後にコピー

このうち、file は開いているファイル オブジェクトです。 read() および readline() 関数と同様に、ファイルを開くモードが読み取り可能モード (r、rb、r、rb を含む) である必要があります。

例:

f = open("my_file.txt",'rb')
byt = f.readlines()
print(byt)
ログイン後にコピー

実行結果は次のようになります:

[b'Python\xbd\xcc\xb3\xcc\r\n', b'//m.sbmmt.com/course/list/30.html']
ログイン後にコピー

[関連する推奨事項: Python3 ビデオ チュートリアル]

以上がPythonでtxtファイルの内容を読み取る方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
関連するチュートリアル
人気のおすすめ
最新のコース
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート