MENU
やすひら
やすひらと申します。
長靴を履いたタヌキ(ITエンジニア)です。
モノ作りの楽しさを発信中。
X(旧Twitter)のフォローもお願いします。

[Python]ファイル/ディレクトリの操作

Pythonでは、ファイルやディレクトリを操作することができます。

やすひら

Pythonのファイル/ディレクトリ操作を紹介します

この記事でわかること
  • Pythonのファイル操作
  • Pythonのディレクトリ操作
目次

Pythonのファイル操作

Pythonではファイルの読み書きを行うことができます。
open関数でファイルを開き、ファイルを操作します。
ファイルの操作内容に応じて、モードを指定してファイルを開く必要があります。

モード意味
r読み込みモード
w書き込みモード
a追記モード

ファイル読み込み

ファイル読み込みを紹介します。

ソースコード

# ファイルを読み込みモードで開く
with open('hogehoge.txt', 'r') as file:
    content = file.read()
    print(content)

コマンド実行例

$ cat hogehoge.txt
hogehoge
hogehoge
hogehoge
$ python3 -B python-file-read.py
hogehoge
hogehoge
hogehoge

ファイル読み込みできます。

ファイル読み込み(1行単位)

1行単位でファイル読み込みを紹介します。

ソースコード

# ファイルを読み込みモードで開く
with open('hogehoge.txt', 'r') as file:
    for line in file:
        print(line.strip())

コマンド実行例

$ cat hogehoge.txt
hogehoge
hogehoge
hogehoge
$ python3 -B python-file-read-line.py 
hogehoge
hogehoge
hogehoge

1行単位でファイル読み込みできます。

ファイル書き込み

ファイル書き込みを紹介します。

ソースコード

# ファイルを書き込みモードで開く
with open('hogehoge.txt', 'w') as file:
    file.write('Hello, world!')

コマンド実行例

$ python3 -B python-file-write.py
$ cat hogehoge.txt 
Hello, world!

ファイル書き込みできます。

ファイル書き込み(追記)

追記モードのファイル書き込みを紹介します。

ソースコード

# ファイルを追記モードで開く
with open('hogehoge.txt', 'a') as file:
    file.write('\nAppend this line.')

コマンド実行例

$ cat hogehoge.txt 
Hello, world!
$ python3 -B python-file-write-add.py 
$ cat hogehoge.txt 
Hello, world!
Append this line.

ファイル書き込みで追記できます。

Pythonのディレクトリ操作

Pythonではディレクトリの操作を行うことができます。

ディレクトリ作成

ディレクトリを作成します。

ソースコード

import os
from pathlib import Path

# osモジュールを使ってディレクトリを作成
os.mkdir('hogehoge1')

# pathlibモジュールを使ってディレクトリを作成
Path('hogehoge2').mkdir()

コマンド実行例

$ python3 -B python-directory-make.py 
$ ls
hogehoge1  hogehoge2

ディレクトリが作成できます。

ディレクトリ一覧を取得

ディレクトリの一覧を取得します。

ソースコード

import os
from pathlib import Path

# osモジュールを使ってディレクトリの内容を取得
print(os.listdir('hogehoge'))

# pathlibモジュールを使ってディレクトリの内容を取得
for item in Path('hogehoge').iterdir():
    print(item)

コマンド実行例

$ touch hogehoge/hogehoge.txt
$ python3 -B python-directory-list.py
['hogehoge.txt']
hogehoge/hogehoge.txt

ディレクトリの一覧を取得できます。

Pythonのファイル/ディレクトリ操作

Pythonではファイル/ディレクトリを操作を行うことができます。

ファイル/ディレクトリの削除

ファイル/ディレクトリを削除します。

ソースコード

import os
import shutil
from pathlib import Path

# ファイルを削除
os.remove('hogehoge.txt')

# ディレクトリを削除
os.rmdir('hogehoge1')

# ディレクトリを削除
shutil.rmtree('hogehoge2')

# ディレクトリを削除
Path('hogehoge3').rmdir()

コマンド実行例

$ touch hogehoge.txt
$ mkdir hogehoge1
$ mkdir hogehoge2
$ mkdir hogehoge3
$ python3 -B python-file-directory-delete.py
$ ls

ファイル/ディレクトリを削除できます。

ファイル/ディレクトリの名称変更

ファイル/ディレクトリを名称変更します。

ソースコード

import os

def rename_file_directory(old_name, new_name):
    try:
        # ファイル/ディレクトリの名称を変更
        os.rename(old_name, new_name)
        print(f"'{old_name}' を '{new_name}' に変更しました。")
    except FileNotFoundError:
        print(f"ファイル/ディレクトリ '{old_name}' が見つかりません。")
    except Exception as e:
        print(f"エラーが発生しました: {e}")

rename_file_directory("hogehoge_1", "hogehoge_2")
rename_file_directory("hogehoge_1.txt", "hogehoge_2.txt")

コマンド実行例

$ ls
hogehoge_1  hogehoge_1.txt  python-file-directory-rename.py
$ python3 -B python-file-directory-rename.py 
'hogehoge_1' を 'hogehoge_2' に変更しました。
'hogehoge_1.txt' を 'hogehoge_2.txt' に変更しました。
$ ls
hogehoge_2  hogehoge_2.txt  python-file-directory-rename.py

ファイル/ディレクトリを名称変更できます。

パスの操作

ファイル/ディレクトリのパスを操作します。

ソースコード

import os
from pathlib import Path

# os.pathモジュールを使ってパスを操作
path = os.path.join('hogehoge', 'hogehoge.txt')
print(os.path.abspath(path))

# pathlibモジュールを使ってパスを操作
path = Path('hogehoge') / 'hogehoge.txt'
print(path.resolve())

コマンド実行例

$ python3 -B python-file-directory-path.py
/home/user/hogehoge/hogehoge.txt
/home/user/hogehoge/hogehoge.txt

パスを操作できます。

まとめ

Pythonのファイル/ディレクトリの操作を紹介しました。

Pythonのファイル操作は
  • ファイル読み込みができる
  • ファイル読み込み(1行)ができる
  • ファイル書き込みができる
  • ファイル書き込み(追記)ができる
  • ファイル削除できる
  • ファイル名を変更できる
  • パスを操作できる
Pythonのディレクトリ操作は
  • ディレクトリ作成できる
  • ディレクトリ一覧を取得できる
  • ディレクトリ削除できる
  • ディレクトリ名を変更できる
  • パスを操作できる

ファイル/ディレクトリの操作は、頻繁に使用する操作です。
本操作を習得して、システムを構築しやすくしましょう。

  • URLをコピーしました!
目次