質問するログイン新規登録
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

2回答

4593閲覧

Python3 サブディレクトリ以下の画像を一括で処理したい

SuzuAya

総合スコア71

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2019/08/22 12:10

0

0

前提・実現したいこと

サブディレクトリ以下に保存されている画像を一括で処理する方法はあるでしょうか。
やりたいことは以下の通りです。
①各サブディレクトリ以下に保存されている画像を別のフォルダに移動して、ひとまとめにしたい
②その際、各サブディレクトリ以下に保存されている画像の名称が全て同じ(image0,image1…)なので、名称を変更したい(どんな名称でも構いません)

画像枚数が合計で3,000枚ほどあるので、手作業ではなく、Pythonを使って一括で処理したいと考えております。
お手数をおかけしますが、良い方法についてご存知の方がいらっしゃいましたら教えて頂けますと大変助かります。

該当のソースコード

current dir/ ├── dir1 ├── sub_dir1 └── image0.jpeg └── image1.jpeg └── image2.jpeg ├── sub_dir2 └── image0.jpeg └── image1.jpeg └── image2.jpeg ├── sub_dir3 └── image0.jpeg └── image1.jpeg └── image2.jpeg ├── sub_dir4 └── image0.jpeg └── image1.jpeg └── image2.jpeg └── sub_dir5 └── image0.jpeg └── image1.jpeg └── image2.jpeg

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

pathlib の glob で指定したディレクトリ配下の jpeg ファイルを探して、shutil.copyfile でコピーすればよいと思います。

python

1import shutil 2from pathlib import Path 3 4input_dir = Path("current_dir") # 入力ディレクトリ 5output_dir = Path("output") # 出力ディレクトリ 6 7# 出力ディレクトリを作成する。 8output_dir.mkdir(exist_ok=True) 9 10# 入力ディレクトリのファイルを出力ディレクトリにコピーする。 11for i, img_path in enumerate(input_dir.glob("*/*.jpeg")): 12 # 保存するファイルは <数字>_<元のファイル名> 13 save_path = output_dir / f"{i:0<6}_{img_path.name}" 14 15 shutil.copyfile(img_path, save_path)

投稿2019/08/22 16:50

tiitoi

総合スコア21960

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

SuzuAya

2019/08/23 11:16

>tiitoi様 教えていただいた方法でうまくいきました!pathfileの使い方は今回初めて知りましたがとても便利ですね。いつも初歩的な質問ばかりしてすみません。本当に助かっています。ありがとうございます。
guest

0

Pythonでフォルダ内のファイルリストを取得する

これでファイルリストをとってきて、通し番号をつけた名前でコピーしていけばよろしい

投稿2019/08/22 12:18

y_waiwai

総合スコア88180

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

SuzuAya

2019/08/22 13:48 編集

>y_waiwai様 早速のご回答ありがとうございました。 ファイルリストは取得できたのですが、「通し番号をつけた名前でコピー」はどう行ったらいいのでしょうか…? 基本的な知識が不足しておりお手数をおかけします。
y_waiwai

2019/08/22 13:49

「python ファイルコピー」でぐぐれば、ファイルのコピーを行う方法の解説でてきます 一通り読んでみましょう
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.30%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問