Python で txt ファイルを読み取る方法: 1. read() 関数を使用して、txt ファイルの内容をバイトまたは文字ごとに読み取ります; 2. readline() 関数を使用して、 txt ファイルを 1 行ずつ読み込みます。 ;3. readlines() 関数を使用して、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 サイトの他の関連記事を参照してください。