Pythonの入出力
16818 ワード
Python入出力 1. printとinput printの基本用法 inputの基本用法 小結 2. ファイル読み書き操作 クローズファイル を開くファイルを読む 書き込みファイル その他のファイル操作 1.printとinput
printの基本的な使い方
print()はpythonの基本出力関数であり、非常に柔軟な使用方法があり、以下help()でprintの基本的な使用法を表示し、インタラクティブ編集インタフェースに
printのパラメータは次のとおりです. value,...:印刷する値をカンマで区切ります. sep:セパレータ、デフォルトはスペースで区切られます(印刷された各項目間はスペースで区切られます). end:終了文字、デフォルトは改行文字(printデフォルトは改行). file:印刷先オブジェクト、デフォルトは標準出力(他の類似ファイルのオブジェクトに変更可能). flush:fileで指定したストリームオブジェクトにすぐに出力するかどうか.
(1)データ型
(2)区切り文字を変更する前の例から分かるように、出力された各項目はスペースで区切られている.
(3)変更終了子次の例:
printのデフォルトは改行で終わります.ここでは、
(4)出力位置printのデフォルト出力を標準出力に変更し、
ここで出力をoutに変更する.txt、outを開きます.txtファイルには
Inputの基本的な使い方
同様に、helpコマンドでinputの使い方を確認し、インタラクティブ編集インタフェースに
inputは標準入力から文字列を読み出し、最後の改行を削除することがわかります.さらに、inputの
整数を読み込む必要がある場合は、intを使用して強制変換を行います.
小結
1.printは、異なるデータ型を印刷することができ、データ型を指定する必要はありません.2.print出力時の各項目間はデフォルトでスペースで区切られ、改行で終わり、
2.ファイルの読み書き操作
閉じるファイルを開く
ファイルを開く関数は
説明からopen()の役割は、ファイルを開き、ストリームオブジェクトを返し、失敗した場合にエラーを投げ出すことです.パラメータの意味は、[file]ファイルオブジェクト、テキストファイル、またはバイナリファイルです.[mode]オープンモード(読み取り、書き込み、追加、テキストファイル、バイナリファイルなど)、デフォルトは「テキストを読む」です.[encoding]符号化方式で、デフォルト値はプラットフォームとは無関係です.[errors]符号化エラーの処理方法を指定します.[newline]改行の設定(None,’’,’r’,’r’)では、modeの値は次のようになります.
Character
Meaning-
‘r’
読み取り(デフォルト)
‘w’
書き込み
‘x’
新規ファイル、書き込み
‘a’
ファイルの末尾に追加
‘b’
バイナリモード
‘t’
テキストモード(デフォルト)
‘+’
リード/ライト(単独では存在しません)
‘U’
汎用改行
rb(バイナリリード)、w+(読み書き)など、上記の組み合わせにより異なるモードを実現することができる.注意:**open()を使用してファイルを開いた後、f.close()でファイルを閉じる必要があります.**ファイルを手動で閉じる必要がなく、次のように開くこともできます.
ファイルを読む
f.read f.readは、ファイル内で指定されたバイト数のデータを読み込むために使用され、バイト数を指定しない場合は、デフォルトでファイル内のすべてのコンテンツを読み出す.
f.readline f.readlineファイルのローを読み込むために使用されます.
f.readlines f.readlineは、ファイル内のすべてのローを読み込むために使用されます.デフォルトでは、すべてのローで構成されるlistが返されます.
また、オブジェクトを反復してすべてのローを読み込むこともできます.
ファイルを書く
f.write f.writeは、文字列をファイルに書き込み、書き込みバイト数を返すために使用されます.
その他のファイル操作
f.tell f.tellファイルポインタの現在の位置(ファイルの開始位置からのバイト数)を返すために使用されます.
f.seek f.seekは、ファイルポインタを指定した場所に移動するために使用されます.使用法は次のとおりです.
2つのパラメータがあり、1つ目はオフセットクッキーで、2つ目は開始位置whenceです.開始位置は、ファイルの開始位置(0)、現在位置(1)、ファイルの最後(2)であってもよい.例は次のとおりです.
printの基本的な使い方
print()はpythonの基本出力関数であり、非常に柔軟な使用方法があり、以下help()でprintの基本的な使用法を表示し、インタラクティブ編集インタフェースに
help(print)
を入力します.>>> help(print)
Help on built-in function print in module builtins:
print(...)
print(value, ..., sep=' ', end='
', file=sys.stdout, flush=False)
Prints the values to a stream, or to sys.stdout by default.
Optional keyword arguments:
file: a file-like object (stream); defaults to the current sys.stdout.
sep: string inserted between values, default a space.
end: string appended after the last value, default a newline.
flush: whether to forcibly flush the stream.
printのパラメータは次のとおりです.
(1)データ型
value
は、異なるデータ型であってもよく、各データ項目をカンマで区切る.>>> print("Hello World!", "2018/11/18", 3.14)
Hello World! 2018/11/18 3.14
(2)区切り文字を変更する前の例から分かるように、出力された各項目はスペースで区切られている.
seq
の値を変更すると、次のように区切り記号のタイプを変更できます.>>> print("Hello World!", "2018/11/18", 3.14, sep='#')
Hello World!#2018/11/18#3.14
(3)変更終了子次の例:
>>> print("Hello World!")
... print("Hello World!")
Hello World!
Hello World!
printのデフォルトは改行で終わります.ここでは、
end
の値を変更して終了文字を変更できます.以下のようにします.>>> print("Hello World!", end=' ')
... print("Hello World!", end=' ')
Hello World! Hello World!
(4)出力位置printのデフォルト出力を標準出力に変更し、
file
パラメータで出力を変更できます.以下のようにします.f=open("out.txt", "w")
print("Hello World!", file=f)
f.close()
ここで出力をoutに変更する.txt、outを開きます.txtファイルには
Hello World!
の内容が表示されます.printはすぐにoutに出力されないことに注意してください.txtファイルの場合、印刷するデータは再バッファに保持され、f.close()に実行されるとファイルにデータが書き込まれます.すぐにファイルに印刷する必要がある場合は、flush
パラメータをtrueに変更します.Inputの基本的な使い方
同様に、helpコマンドでinputの使い方を確認し、インタラクティブ編集インタフェースに
help(input)
と入力し、次の結果を得ます.>>> help(input)
Help on built-in function input in module builtins:
input(prompt=None, /)
Read a string from standard input. The trailing newline is stripped.
The prompt string, if given, is printed to standard output without a
trailing newline before reading input.
If the user hits EOF (*nix: Ctrl-D, Windows: Ctrl-Z+Return), raise EOFError.
On *nix systems, readline is used if available.
inputは標準入力から文字列を読み出し、最後の改行を削除することがわかります.さらに、inputの
prompt
パラメータは、印刷プロンプト情報と同一であってもよい.ここで読み取ったコンテンツはいずれも文字列に変換されることに注意してください.>>> a=input("Input:")
Input:Hello World!
>>> type(a)
<class 'str'>
>>> b=input("Input:")
Input:123
>>> type(b)
<class 'str'>
整数を読み込む必要がある場合は、intを使用して強制変換を行います.
>>> c=int(input("Input:"))
Input:123
>>> type(c)
<class 'int'>
小結
1.printは、異なるデータ型を印刷することができ、データ型を指定する必要はありません.2.print出力時の各項目間はデフォルトでスペースで区切られ、改行で終わり、
sep
とend
のパラメータで変更できます.3.printはデフォルトで標準出力に出力され、file
パラメータで変更できます.4.Inputは読み込んだデータを文字列に変換します.2.ファイルの読み書き操作
閉じるファイルを開く
ファイルを開く関数は
open()
です.helpを使用して使用方法を表示します.説明が長すぎるため、以下に一部だけ貼り付けます.open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
Open file and return a stream. Raise IOError upon failure.
説明からopen()の役割は、ファイルを開き、ストリームオブジェクトを返し、失敗した場合にエラーを投げ出すことです.パラメータの意味は、[file]ファイルオブジェクト、テキストファイル、またはバイナリファイルです.[mode]オープンモード(読み取り、書き込み、追加、テキストファイル、バイナリファイルなど)、デフォルトは「テキストを読む」です.[encoding]符号化方式で、デフォルト値はプラットフォームとは無関係です.[errors]符号化エラーの処理方法を指定します.[newline]改行の設定(None,’’,’r’,’r’)では、modeの値は次のようになります.
Character
Meaning-
‘r’
読み取り(デフォルト)
‘w’
書き込み
‘x’
新規ファイル、書き込み
‘a’
ファイルの末尾に追加
‘b’
バイナリモード
‘t’
テキストモード(デフォルト)
‘+’
リード/ライト(単独では存在しません)
‘U’
汎用改行
rb(バイナリリード)、w+(読み書き)など、上記の組み合わせにより異なるモードを実現することができる.注意:**open()を使用してファイルを開いた後、f.close()でファイルを閉じる必要があります.**ファイルを手動で閉じる必要がなく、次のように開くこともできます.
with open("data.txt") as f:
pass
ファイルを読む
f.read f.readは、ファイル内で指定されたバイト数のデータを読み込むために使用され、バイト数を指定しない場合は、デフォルトでファイル内のすべてのコンテンツを読み出す.
with open("data.txt") as f:
print(f.read())
Line one: Hello World!
Line two: Hello World!
Line three: Hello World!
Line four: Hello World!
f.readline f.readlineファイルのローを読み込むために使用されます.
with open("data.txt") as f:
print(f.readline())
Line one: Hello World!
f.readlines f.readlineは、ファイル内のすべてのローを読み込むために使用されます.デフォルトでは、すべてのローで構成されるlistが返されます.
with open("data.txt") as f:
ret = f.readlines()
print(type(ret))
print(ret)
['Line one: Hello World!
', 'Line two: Hello World!
', 'Line three: Hello World!
', 'Line four: Hello World!']
また、オブジェクトを反復してすべてのローを読み込むこともできます.
with open("data.txt") as f:
for line in f:
print(line, end='')
Line one: Hello World!
Line two: Hello World!
Line three: Hello World!
Line four: Hello World!
ファイルを書く
f.write f.writeは、文字列をファイルに書き込み、書き込みバイト数を返すために使用されます.
with open("data.txt", "w") as f:
print(f.write("Hello World!"))
12
その他のファイル操作
f.tell f.tellファイルポインタの現在の位置(ファイルの開始位置からのバイト数)を返すために使用されます.
with open("data.txt", "r") as f:
f.read(5)
print(f.tell())
5
f.seek f.seekは、ファイルポインタを指定した場所に移動するために使用されます.使用法は次のとおりです.
seek(cookie, whence=0, /) method of _io.TextIOWrapper instance
Change stream position.
Change the stream position to the given byte offset. The offset is
interpreted relative to the position indicated by whence. Values
for whence are:
* 0 -- start of stream (the default); offset should be zero or positive
* 1 -- current stream position; offset may be negative
* 2 -- end of stream; offset is usually negative
2つのパラメータがあり、1つ目はオフセットクッキーで、2つ目は開始位置whenceです.開始位置は、ファイルの開始位置(0)、現在位置(1)、ファイルの最後(2)であってもよい.例は次のとおりです.
with open("data.txt", "r") as f:
f.seek(5)// 5
print(f.read())//
World!