2017-02-12 3 views
-2

複数のサブフォルダを解析してファイルのみをコピーするスクリプトを作成する方法(できればPythonでも他の方法もあります)特定の拡張子(.mp3 & .mp4など)をLinux/Ubuntuの別のフォルダに追加しますか?複数のフォルダを移動して特定のextを含むファイルのみを別の単一のフォルダにコピーする

+1

:[この質問](http://stackoverflow.com/questions/15617016/cp-copy-all-files -with-a-certain-extension-from-all-subdirectories)( 'cp'を' mv'で置き換えます) –

+0

カスタム実装を書く魅力的な理由がない限り、 'find'を使用します。 – chepner

答えて

0

os.walkを使用してディレクトリツリーを移動したいとします。次に、各ファイルに対して、os.path.splitextを使用して拡張子を取得します。 splitextは、ベース名と拡張子を返します。

次に、shutil.copyを使用して、ターゲットディレクトリにコピーします。

(あなたと仮定出発点として/を使用して)軽量例:Bashのために

import os 
import os.path 
import shutil  

for root, dir, files in os.walk('/'): 
    for ffile in files: 
     if os.path.splitext(ffile)[1] in ('.mp3', '.mp4'): 
      src = os.path.join(root, ffile) 
      shutil.copy(src, [YOUR_TARGET_DIR]) 
+0

'ffile.endswith(( '。jpg'、 '.png'))'を使うことができます。 – vaultah

関連する問題