Python

Python read() / readline() / readlines()

2021年10月6日

Overview

Python の read() / readline() / readlines() の相違点を確認する。

Environment

$ cat /etc/os-release
NAME="Ubuntu"
VERSION="21.04 (Hirsute Hippo)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 21.04"
VERSION_ID="21.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=hirsute
UBUNTU_CODENAME=hirsute
$ uname -a
Linux x201 5.11.0-37-generic #41-Ubuntu SMP Mon Sep 20 16:39:20 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
$ python3 --version
Python 3.9.5
$ 

file

$ cat interface.log
interface GigabitEthernet0/0
 ip address 203.0.113.102 255.255.255.252
 duplex auto
 speed auto
 media-type rj45
$

read()

config_file = open("interface.log","r")
config_cmds = config_file.read()
print(config_cmds)
config_file.close()
$ python3 config.py
interface GigabitEthernet0/0
 ip address 203.0.113.102 255.255.255.252
 duplex auto
 speed auto
 media-type rj45
$

readline()

config_file = open("interface.log","r")
config_cmds = config_file.readline()
print(config_cmds)
config_file.close()
$ python3 config.py
interface GigabitEthernet0/0

$ 

readlines()

config_file = open("interface.log","r")
config_cmds = config_file.readlines()
print(config_cmds)
config_file.close()
['interface GigabitEthernet0/0\n', ' ip address 203.0.113.102 255.255.255.252\n', ' duplex auto\n', ' speed auto\n', ' media-type rj45']