Pythonファイル操作について

Python

今回はPythonでファイルを操作する方法を紹介します。

open関数

open関数はPythonの関数の1つで、ファイルの新規作成や保存、書き込みなどファイル操作ができます。

open関数は以下のような形式で使えます。

open(ファイル名, オプション, 文字エンコード)

オプション:
     ‘r’: 読み込み用で開きます。ファイルが存在しない場合、エラー
     ‘rb’: バイナリモードの読み込み用で開きます。
     ‘r+’: 読み込みと書き込み
     ‘rb+’:バイナリモードで 読み込みと書き込み
     ‘w’: 書き込み用で開きます。
            ファイル名に設定したものがすでに存在している場合はそのファイルに上書きします。
    ファイルが存在しない場合、ファイルを作成する
     ‘wb’:バイナリモードの書き込み用で開きます。
     ‘w+’:読み込みと書き込み
     ‘wb+’:バイナリモードの読み込みと書き込み
     ‘x’: 新規ファイルの書き込みとして使います。
   既存ファイルがある場合はエラー『FileExistsError』
     ‘a’: 書き込み用で開きます。
   既存ファイルがある場合は末尾に追記
          既存ファイルが存在しない場合、ファイルを作成
     ‘b’: バイナリモードで開きます。

文字エンコード:
    UTF-8
    Shift-JIS

read関数

readはファイルから指定サイズのデータを読み出します。
引数を省略すると、ファイルの内容全てを読み出します。

f = open(‘./aa.txt’,’r’,encoding=’utf-8′)
#print(f.read())
print(f.read(10))
f.close()

readlines関数

readlinesはファイルの内容を全て読み出し、1行ごとのリストにします。

f = open(‘./aa.txt’,’r’,encoding=’utf-8′)
print(f.readlines()) #[‘aaaaa\n’, ‘bbbbb\n’, ‘ccccc\n’, ‘ddddd’]
f.close()

readline関数

readlineはファイルから1行だけ読み出します。

f = open(‘./aa.txt’)
print(f.readline()) #aaaaa
print(f.readline()) #bbbbb
f.close()

seek関数

データを読み込む位置を移動することができます。

seek(offset, whence)

whence:  (デフォルトの値は0)
    0: ファイルの先頭から
    1: 現在のファイル位置
    2: ファイルの終端   

write関数

write関数は文字列を引数として渡し、その文字列を書き込みます。

f = open(‘./aa.txt’,’w’,encoding=’utf-8′)
f.write(‘テストファイル操作’)
f.close()

writelines関数

writelines関数は配列を引数として渡し、その配列の要素をファイルに書き込みます。

list1 = [‘aaaaa\n’,’bbbb\n’,’ccccc\n’]
f = open(‘./bb.txt’, ‘w’)
f.writelines(list1)
f.close()

with構文

withを利用することで、後処理を実装せずに、処理自体を安全かつシンプルに実装できる機能です。
後処理とは、例えばファイルを開くopenという前処理に対して、closeという対になる処理を意味します。
下記のような書き方で、ファイルを利用した後、withを利用することで、自動的に閉じる処理も実行されます。

with open(“ファイル名”, “r”) as 変数:

os module

walk

ファイルやディレクトリの一覧を取得するためのモジュールです。引数でディレクトリ名を指定することにより、ファイルや特定の拡張子の一覧やファイルパスを取得することができます。

system

LinuxのコマンドをPythonで記述するためのモジュールです。たとえば、Linuxコマンドでファイルの一覧を取得するlsコマンドを実行する場合は以下のように記述します。

import os

os.system(“ls”)

listdir

ファイルやディレクトリの一覧を確認するときに使用します。

import os
path = ‘./’
 
list1 = os.listdir(path)
print(list1)

path

「ファイルやディレクトリの存在確認」、「指定したパスのファイル名の取得」、「パスやファイル名の結合」などの用途で使用します。

exists() ファイル及びディレクトリの存在確認ができます。戻り値はBool型になります。
isdir() ディレクトリの存在確認ができます。戻り値はBool。
isfile() ファイルの存在確認ができます。戻り値はBool。
basename() 指定されたパスのファイル名を返します。
dirname() 指定されたパスからファイル名を除いたものを返します。
split() 指定されたパスのファイル名と、それまでのパスを返します。
splitext() 指定されたファイルの拡張子と拡張子を除くファイル名までのパスを返します。
join() パスとファイル名などを結合させる事ができます。

rename

ファイル名を指定した名称に変更するときに使用します。

import os
os.rename(‘aa.txt’,’cc.txt’)

remove

ファイルを削除するために使用します。

import os

os.remove(‘cc.txt’)

mkdir

新しいディレクトリ(フォルダ)を作成する関数。

rmdir

空のディレクトリのみを削除する

getcwd

現在Pythonが実行されている作業ディレクトリ(カレントディレクトリ)の絶対パスを文字列として返す。

chdir

カレントディレクトリを移動する

タイトルとURLをコピーしました