AI Technology Community
5.2、Python open():ファイルを開く
ファイルを開くには、「open(ファイル名, モード)」を使用して行うことができます。この関数には2つの引数があり、最初の引数はファイル名で、2番目の引数は開くモードです。この関数はファイルオブジェクトを返し、以降の読み書きはすべてこのファイルオブジェクトを使用する必要があります。
ファイル名にはパスを含めることができます。例えば、cfg/config.ini のようにです。絶対パスと相対パスのどちらを使用しても構いませんが、log/*.log のようなワイルドカードは使用できません。Windowsユーザーの場合、\ をパス区切り文字として使用しますが、有人は2つの連続したバックスラッシュ \ つまり \\ を使って \ を表すことが好きです。例えば、「c:\\log\\app.log」のようにです。推奨される使い方は、引用符の前に r を付けることで、これによりもっと自然に見えます。例えば、r「c:\log\app.log」のようにです。
モード引数も文字列です。異なるモード値を通じて、読み取り専用、書き込み専用、末尾追加などの方法で特定のファイルを開くことを指定することができます。
モードの基本形式は次の通りです。
mode = 開く方法 + ファイルタイプ
ファイルタイプには2種類あり、テキストモードとバイナリモードです。テキストモードは t で表され、これがデフォルト値です。バイナリモードは b で表されます。
開く方法には、読み取り専用(r で表される)、書き込み専用(w で表される)、追加(a で表される)が含まれます。その他にも、読み書き可能(w+ または r+ で表される)があります。これらの違いは、w+ は元のファイル内容をクリアしますが、r+ は元のファイル内容をクリアしません。例えば、rb はバイナリモード + 読み取り専用で指定されたファイルを開くことを意味します。
操作対象のファイルが存在しない場合、または関連する操作の権限がない場合、FileNotFoundError または IOError 例外がスローされます。この場合、通常は try 文を使用して処理する必要があります。以下はPython 3で存在しないファイルを開く場合の例です。
>>> fd = open("notExists.dat", "r") # 存在しないファイルを開くと、例外がスローされます Traceback (most recent call last): File "<stdin>", line 1, in <module> FileNotFoundError: [Errno 2] No such file or directory: 'notExists.dat'
以下はPython 2で存在しないファイルを開く場合の例です。
>>> fd = open("notExists.dat", "r") # Python 2における例外の場合 Traceback (most recent call last): File "<stdin>", line 1, in <module> IOError: [Errno 2] No such file or directory: 'notExists.dat'
これらのファイルを開く際の例外を処理するために、以下のコードを使用することができます。
try: file_obj1 = open(u"nonexist.txt", "r") file_obj1.close() except IOError: # ファイルが見つからない場合は、ファイルが存在しないことを通知します print(u"File not Exist")
特定のファイルをある局所的な範囲でのみ有効にしたい場合は、with 文を使用することができます。以下は使用例です。
>>> with open('in.dat', 'r') as f: # with文を使用し、fは開かれたファイルオブジェクトです ... print(f.read()) # すべてのデータを読み取り、画面に表示します ... # with文の終了 this is input text file # ファイル内容 it contains 3 lines this is the end of file >>> f # fを確認する <_io.TextIOWrapper name='in.dat' mode='r' encoding='UTF-8'> >>> f.closed # fは自動的に閉じられましたか? True # ファイルオブジェクトは自動的に閉じられました
14
item of content
大規模ソフトウェアプロジェクトでは、ファイル操作は避けられません。この章では、普通のテキストファイルとバイナリファイルの操作方法について説明します。具体的には、ファイルを開く方法、ファイルの読み書き、ファイルモード、および with 文の使用方法などを含みます。
- 379hits
- 0replay
-
0like
- collect
- send report