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
ファイル書き込み
ファイル書き込みを紹介します。
ソースコード
# ファイルを書き込みモードで開く
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のディレクトリ操作は
- ディレクトリ作成できる
- ディレクトリ一覧を取得できる
- ディレクトリ削除できる
- ディレクトリ名を変更できる
- パスを操作できる
ファイル/ディレクトリの操作は、頻繁に使用する操作です。
本操作を習得して、システムを構築しやすくしましょう。