今回はPythonでファイルを操作する方法を紹介します。
open関数
open関数はPythonの関数の1つで、ファイルの新規作成や保存、書き込みなどファイル操作ができます。
open関数は以下のような形式で使えます。
オプション:
‘r’: 読み込み用で開きます。ファイルが存在しない場合、エラー
‘rb’: バイナリモードの読み込み用で開きます。
‘r+’: 読み込みと書き込み
‘rb+’:バイナリモードで 読み込みと書き込み
‘w’: 書き込み用で開きます。
ファイル名に設定したものがすでに存在している場合はそのファイルに上書きします。
ファイルが存在しない場合、ファイルを作成する
‘wb’:バイナリモードの書き込み用で開きます。
‘w+’:読み込みと書き込み
‘wb+’:バイナリモードの読み込みと書き込み
‘x’: 新規ファイルの書き込みとして使います。
既存ファイルがある場合はエラー『FileExistsError』
‘a’: 書き込み用で開きます。
既存ファイルがある場合は末尾に追記
既存ファイルが存在しない場合、ファイルを作成
‘b’: バイナリモードで開きます。
文字エンコード:
UTF-8
Shift-JIS
read関数
readはファイルから指定サイズのデータを読み出します。
引数を省略すると、ファイルの内容全てを読み出します。
readlines関数
readlinesはファイルの内容を全て読み出し、1行ごとのリストにします。
readline関数
readlineはファイルから1行だけ読み出します。
seek関数
データを読み込む位置を移動することができます。
whence: (デフォルトの値は0)
0: ファイルの先頭から
1: 現在のファイル位置
2: ファイルの終端
write関数
write関数は文字列を引数として渡し、その文字列を書き込みます。
writelines関数
writelines関数は配列を引数として渡し、その配列の要素をファイルに書き込みます。
with構文
withを利用することで、後処理を実装せずに、処理自体を安全かつシンプルに実装できる機能です。
後処理とは、例えばファイルを開くopenという前処理に対して、closeという対になる処理を意味します。
下記のような書き方で、ファイルを利用した後、withを利用することで、自動的に閉じる処理も実行されます。
os module
walk
ファイルやディレクトリの一覧を取得するためのモジュールです。引数でディレクトリ名を指定することにより、ファイルや特定の拡張子の一覧やファイルパスを取得することができます。
system
LinuxのコマンドをPythonで記述するためのモジュールです。たとえば、Linuxコマンドでファイルの一覧を取得するlsコマンドを実行する場合は以下のように記述します。
os.system(“ls”)
listdir
ファイルやディレクトリの一覧を確認するときに使用します。
path
「ファイルやディレクトリの存在確認」、「指定したパスのファイル名の取得」、「パスやファイル名の結合」などの用途で使用します。
exists() | ファイル及びディレクトリの存在確認ができます。戻り値はBool型になります。 |
isdir() | ディレクトリの存在確認ができます。戻り値はBool。 |
isfile() | ファイルの存在確認ができます。戻り値はBool。 |
basename() | 指定されたパスのファイル名を返します。 |
dirname() | 指定されたパスからファイル名を除いたものを返します。 |
split() | 指定されたパスのファイル名と、それまでのパスを返します。 |
splitext() | 指定されたファイルの拡張子と拡張子を除くファイル名までのパスを返します。 |
join() | パスとファイル名などを結合させる事ができます。 |
rename
ファイル名を指定した名称に変更するときに使用します。
remove
ファイルを削除するために使用します。
mkdir
新しいディレクトリ(フォルダ)を作成する関数。
rmdir
空のディレクトリのみを削除する
getcwd
現在Pythonが実行されている作業ディレクトリ(カレントディレクトリ)の絶対パスを文字列として返す。
chdir
カレントディレクトリを移動する