【Python】ファイル・ディレクトリの移動方法を紹介!「shutil.move」

こんにちは!

皆さんは、Pythonでファイル・ディレクトリを移動したいと思ったことはありませんか?

Python初心者
ファイル操作では覚えておかないとね!

ファイル・ディレクトリを移動させるには、「shutil.move()」を使うと簡単に行うことができますよ。

今回の記事では、以下の内容について紹介します。

  • ファイル・ディレクトリの基本的な移動方法
  • 移動と同時に名前を変更する方法

ファイル・ディレクトリの移動方法

ファイル・ディレクトリを移動するには、shutilモジュールの「move()」を使用します。

shutilモジュールは、Pythonの標準ライブラリ内にあるため、インストールの必要はありません。

今回は以下のコードで作成したディレクトリ・ファイルの移動を行います。

ファイル・ディレクトリの作成方法ファイル・ディレクトリの一覧取得方法も一緒に確認しましょう。

ソースコード

import os

os.makedirs('testdir1/test1', exist_ok=True)
os.makedirs('testdir2', exist_ok=True)

with open('testdir1/test.txt', 'w') as f:
    f.write('')

print(os.listdir('testdir1'))
print(os.listdir('testdir2'))

実行結果

['test1', 'test.txt']
[]

testdir1の中にtest1, test.txtがあり、
testdir2の中には何も入っていません。

testdir1の中身をtestdir2に移動していきます。

ファイルを移動

まずはファイルを移動するソースコードを見てみましょう。

ソースコード

import shutil
import os

shutil.move('testdir1/test.txt', 'testdir2/')

print(os.listdir('testdir1'))
print(os.listdir('testdir2'))

実行結果

['test1']
['test.txt']

test.txtというファイルがtestdir1からtestdir2に移動されたのがわかりますね。

ディレクトリを移動

次にtest1というディレクトリを移動させましょう。

ソースコード

import shutil
import os

shutil.move('testdir1/test1', 'testdir2/')

print(os.listdir('testdir1'))
print(os.listdir('testdir2'))

実行結果

[]
['test1', 'test.txt']

test1というディレクトリが、testdir2に移動して、2つのファイル・ディレクトリが移動できたことがわかりますね!

「shutil.move」を使うと、ファイルの移動方法、ディレクトリの移動方法のどちらも同様に移動することができるとわかりますね。

移動と同時に名前を変更する

移動先に存在しない新しい名前をパスに指定すると、ファイル・ディレクトリを移動しつつ名称変更することができます。

先ほどtestdir2に移動したtest1, test.txtをもう一度testdir1に戻しながら名称変更を行いましょう。

ファイルを移動・名称変更

まずはファイルを移動し名称変更を行います。

ソースコード

shutil.move('testdir2/test.txt', 'testdir1/test_new.txt')

print(os.listdir('testdir1'))
print(os.listdir('testdir2'))

実行結果

['test_new.txt']
['test1']

test.txtというファイルが移動し、test_new.txtという名称に変わっていることがわかりますね。

ディレクトリを移動・名称変更

次にディレクトリを移動し名称変更しましょう。

ソースコード

shutil.move('testdir2/test1', 'testdir1/test1_new')

print(os.listdir('testdir1'))
print(os.listdir('testdir2'))

実行結果

['test1_new', 'test_new.txt']
[]

test1というディレクトリが移動し、test1_newという名称に変わっていることがわかります。

まとめ

今回の記事では、以下の内容について紹介しました。

  • ファイル・ディレクトリの基本的な移動方法
    「shutil.move()」を使用
  • 移動と同時に名前を変更する方法
    →移動先に存在しない新しい名前をパスに指定
Python初心者
移動するのは簡単だったね!

名称変更も簡単にできるので、ぜひ活用してください!