Pythonで一行ずつファイルを読み込むには?

readline()関数は、ファイルから1行ずつ読み込むために使用できます。readline()関数は呼び出されるたびにファイルを1行ずつ読み込み、ファイルポインタを次の行へ移動させます。ファイルの読み込みが終了すると、readline()関数は空文字列を返します。

次のコード例は、ファイルから行単位で読み取る方法を示します。

with open('filename.txt', 'r') as file:
    line = file.readline()
    while line:
        print(line)
        line = file.readline()

上のコードでは、まず open() 関数でファイルを開いて、そのファイルオブジェクトを変数 file に代入します。次に、readline() 関数で 1 行目を読み込んで、それを変数 line に代入します。while ループ内で、line の内容を出力してから、readline() 関数で次の行を読み込みます。line が空文字列になったら、ファイルの読み込みが完了したことがわかり、ループは停止します。

注意を要する点はopen()関数を使用してファイルをオープンする時、ファイルのパスとオープンモードを指定する必要があることです。上の例では、’filename.txt’がファイルのパスで、’r’はファイルオープンモードです。読み取り専用でファイルを開くことを表しています。実際のニーズに応じてパスとモードを変更してください。

なお、1行ずつファイルを読み込む方法は他にも、forループを使ったり、ファイルオブジェクトのイテレータ属性を利用する方法もあります。以下に、2つの異なる書き方を示します。

# 方法一:使用for循环
with open('filename.txt', 'r') as file:
    for line in file:
        print(line)

# 方法二:使用迭代器
with open('filename.txt', 'r') as file:
    lines = iter(file)
    for line in lines:
        print(line)

この2つの方法の仕組みと効果は、前の例と同様です。

bannerAds