Pythonを使うと、フォルダを操作することができます。
実際に以下の作業を自動で処理することが可能です。
・フォルダ名やファイル名の取得
・ディレクトリフォルダの作成
・フォルダ指定
・相対パスでの指定
・フォルダ内の特定のファイルの一括処理
・フォルダ内のファイル数を取得
・ファイルコピー
ここではPythonでフォルダ操作するサンプルの内、実際に仕事でも使える事例を紹介していきます。
Pythonフォルダ操作の基本サンプルコード
1.フォルダ作成
1-1. フォルダ作成
1 2 3 |
import os newfolder = 'Sample' os.mkdir(newfolder) |
「Sample」というフォルダを作成する。
1-2. 指定パスにフォルダ作成
1 2 3 4 |
import os ab_path = r'D:\DropBox\Dropbox\Python\Program\700_Folder\799_Folders' newfolder = 'Sample' os.mkdir(newfolder) |
2行目でフォルダを指定する。windowsの場合、「r’フルパス’」とすることで、エスケープ回避することができる。
2. フォルダやファイルを全て取得
2-1. カレントディレクトリのフォルダやファイルを全て取得
1 2 3 4 |
import os path = os.getcwd() files = os.listdir(path) print(files) |
2-2. 指定パスの中のフォルダやファイルを取得
1 2 3 4 |
import os ab_path = r'D:\DropBox\Dropbox\Python\Program\700_Folder\799_Folders' files = os.listdir(ab_path) print(files) |
3. フォルダ削除
1 2 3 |
import os folder = 'Sample001' os.rmdir(folder) |
「Sample001」のフォルダ削除を行う
4. フォルダ名変更
1 2 3 4 |
import os name1 = 'Sample001' name2 = 'Sample002' os.rename(name1, name2) |
「Sample001」のフォルダ名を「Sample002」に変更する。
5. フォルダ移動
1 2 3 4 |
import shutil folder1 = 'Folder001' folder2 = 'Sample001' shutil.move(folder1, folder2) |
folder1「Folder001」をfolder2「Sample001」のフォルダへ移動させる。
6. パスの連結・結合
1 2 3 4 5 |
import os ab_path = r'D:\DropBox\Dropbox\Python\Program\700_Folder\799_Folders' newfolder = 'Sample' newpath = os.path.join(ab_path, newfolder) print(newpath) |
newpath = 「D:\DropBox\Dropbox\Python\Program\700_Folder\799_Folders\Sample」となる
7. フォルダコピー
1 2 3 4 |
import distutils.dir_util path1 = './Folder001' path2 = './Folder002' distutils.dir_util.copy_tree(path1 , path2) |
「Folder001」内のフォルダやファイルを「Folder002」へコピーする
以下で実際に仕事で使える事例を紹介していきます。
Pythonフォルダ操作を事例で紹介
2. 階層別にフォルダを読み込んでテキストへ出力
3. エクセルのボタンを押してフォルダを自動作成
4. Pythonでフォルダ内のファイル名をエクセルに書き出す
5. フォルダ内のファイル数(サブフォルダ含)を取得
6. フォルダ内の全てのPDFファイルに透かしを入れる
7. Outlookで受信メールを一覧化(添付ファイルも保管)
以下で一つずつ紹介していきます。
事例1|階層別にフォルダを自動作成
Pythonを使うとテキストファイルのデータをもとに、フォルダを作成することができます。
しかもプログラムを工夫することで、フォルダを階層ごとに作成することも可能です。
以下の記事では、テキストファイルの階層に合わせて、フォルダを階層ごとに作成するプログラムを紹介します。
事例2|階層別にフォルダを読み込んでテキストへ出力
Pythonを使うとフォルダ内の全てフォルダやファイル名を取得して一覧にすることができます。
これは下位フォルダの内のファイルも含めて取得可能です。
以下の記事では、フォルダ内の全てのPDFの全ページに透かしを入れていくプログラムを紹介します。
事例3|エクセルのボタンを押してフォルダを自動作成
Pythonを使うと、エクセルに設置したボタンからPythonを実行することが可能です。
この方法を使うと、エクセルに作成したいフォルダ名を入力して、ボタンを押すと「新しいフォルダに自動作成するPythonプログラム」を実行し、新しいフォルダを作成することができます。
エクセル上のボタンからフォルダを作成することができるので、操作がかなりラクです。
事例4|Pythonでフォルダ内のファイル名をエクセルに書き出す
Pythonを使うとフォルダ内の全てフォルダやファイル名を取得して一覧にすることができます。
これは下位フォルダの内のファイルも含めて取得可能です。
使用用途としてはファイル名を検索したり、フォルダ整理をしたりするときに使うなどがあります。
以下の記事で、フォルダ内の全てのファイル名を取得してエクセルへ出力するプログラムを紹介します。
事例5|フォルダ内のファイル数(サブフォルダ含)を取得
Pythonを使うと、フォルダ内のファイル数を調べることができます。
ここではPython×フォルダの事例として、とあるフォルダ内に存在するファイルをカウントして、テキストファイルに出力するプログラムを作っていきます。
なお、フォルダ内の含まれるサブフォルダ内に存在するファイル数もカウントしていきます。
事例6|フォルダ内の全てのPDFファイルに透かしを入れる
Pythonを使うとフォルダ内の全てのPDFに同じ処理を行うことが可能です。
ここでは全ぺージに透かし(会社のロゴやConfidentialなど)を入れる事例を紹介します。
フォルダ内の全てのPDFを一括処理することで、大きな効率化を得ることができます。
以下の記事でプログラムも含めて紹介しています。
事例7|Outlookで受信メールを一覧化(添付ファイルも保管)
Pythonを使えば、Outlookの受信メールを取得して一覧にすることが可能です。
受信メールに添付されているファイルもフォルダを作成して保管するプログラムです。
上記で紹介しているプログラムを使うと、以下のようにOutlookのメールをエクセルに一覧にします。
同時にメールに添付されているファイルもフォルダを自動作成して、そこにファイルを保管します。
Pythonについて詳しく理解したいなら
Pythonを活用すると、仕事を効率化できる幅を広げることができます。
たとえば私が実際にPythonを活用して効率化してきた作業は以下の記事で紹介しています。
興味がある人は以下の記事もご覧ください。
Python×効率化のサンプル
Pythonで効率化できる事例をサンプルコード付きで紹介しています。
Python×Excel
PythonとExcelで自動化できることを紹介しています。
事例も数多く紹介しているので、ぜひ参考にしてみてください。
Python×PDF
PythonとPDFで自動化できることを紹介しています。
Pythonって難しい?
Pythonの難易度などについては、以下で紹介しています。
勉強の参考になれば幸いです。