ファイルからのデータの読み取り
テキスト ファイルを読み取る場合、バイト ストリームがプログラム入力に次々と順番に入力されるため、ファイルはデータへの順次アクセスを提供します。つまり、ファイルから 10 番目の値を読み取る必要がある場合は、最初に前の 9 を読み取る必要があります。
ファイルの 1 行を読み取ると、
readline()
メソッドを実行できます。このメソッドはファイル変数に対して呼び出されます。
Fin = open("input.txt")
s = Fin.readline()
読み取った文字列には、キーボードから読み取るときに使用されるものと同様のさまざまなメソッド (split()
、map()
など) を適用できます。たとえば、ファイルの行にスペースで区切られた 2 つの数値がある場合、次のように数えることができます。
Fin = open("input.txt")
s = Fin.readline().split() # スペースで行を分割 s = ["2007", "2021"]
a, b = マップ(int, s) # int() メソッドをリストのすべての要素に適用します。
# つまり文字列を数値に変換します
# a, b = int(s[0], s[1]) # これは上の行と同じです
# a, b = [int(x) for x in s] # ジェネレーターと同じ
read()
メソッドは、ファイルの内容全体を読み取り、文字 '\n
' を含む可能性のある文字列を返します。整数パラメータが read()
メソッドに渡された場合、指定された数を超える文字は読み取られません。たとえば、read(1)
.
メソッドを使用してファイルをバイトごとに読み取ることができます。
ファイルが開かれると、ファイル内の現在位置を決定するポインタはファイルの先頭に設定され、読み取られると、読み取られたデータの次の位置に移動されます。書き込み時には、ポインタは次の空き位置に移動します。