Python はじめました:組み込み関数 open

Python.use(better) # Python はじめました記事一覧
組み込み関数 open

《著》小粒ちゃん+α《監修》小泉ひよ子とタマゴ倶楽部
第0版♪2001/03/02 ● 第1版♪2003/05/25 ● 第2版♪2004/06/01 ● 第3版♪2009/02/28

関連記事

open〈Python 3.0 版〉

open(file[, mode='r'[, buffering=None[, encoding=None[, errors=None[, newline=None[, closefd=True)

>>> print(open.__doc__)
open(file, mode='r', buffering=None, encoding=None, errors=None, newline=None, closefd=True)

Open file and return a stream.  Raise IOError upon failure.
...
Character Meaning
'r' 読み込み用に開きます。(省略時)
'w' 書き込み用に開きます。ファイルが存在しないときには、新たに作成します。ファイルが存在するときには、その内容を空にします。
'a' 書き込み用に開きます。ファイルが存在するときには、その末尾に追加します。
'b' バイナリーモード
't' テキストモード(省略時)
'+' 更新用に開きます。(読み書き両用)
'U' universal newline mode (for backwards compatibility; unneeded for new code)
def ex():
    file = "temp.txt"
    open(file, "w")
    for e in "ABCDE":
        print(e,ord(e),file=open(file, "a"))
    for n,e in enumerate(open(file)):
        print("{0}:".format(n), e, end="")

% python3.0 -i ex.py
>>> ex()
0: A 65
1: B 66
2: C 67
3: D 68
4: E 69

指定した引数をそのまま出力します。
各引数を空白 ' ' で区切りながら出力します。キーワード引数 sep=" " を指定したのと同じです。

>>> print(*"ABC", sep="/")
A/B/C

各引数を文字 '/ ' で区切りながら出力します。

>>> print(*range(5))
0 1 2 3 4
>>> print(*range(5), sep=", ")
0, 1, 2, 3, 4

各引数を文字列 ', ' で区切りながら出力します。

■ 事例
>>> m = dict((e, ord(e)) for e in "ABC"); m
{'A': 65, 'C': 67, 'B': 66}

キーワード引数 sep= および end= を組み合わせて指定できます。

>>> for k,v in m.items():
...     print(k, v, sep=": ", end=", ")
... 
A: 65, C: 67, B: 66, 

各引数を文字列 ': ' で区切るとともに(各行を改行しないで)文字列 ", " で区切りながら出力します。

>>> for k,v in m.items():
...     print(k, v, sep="->", end=" ")
... 
A->65 C->67 B->66

各引数を文字列 '->' で区切るとともに(各行を改行しないで)空白 " " で区切りながら出力します。

print 文〈Python 2.x 版〉

Last updated♪09/03/06