1

デスクトップ上のファイルを拡張子に基づいてフォルダーにすばやく整理するための Python スクリプトを作成したいと考えています。基本的に、ループを使用してファイルを取得し、何かを実行し、次のファイルに移動するにはどうすればよいでしょうか?

4

2 に答える 2

4

必要なものはすべて、おそらくosライブラリに含まれています。より具体的には、そのos.pathビットとshutil1 つに含まれています。

を使用してディレクトリ ツリーを調べたり、os.walkファイルを移動したりするには、shutil.move.


編集:あなたを動かすために私が一緒にハックした小さなスクリプト:

import os
import shutil as sh
from collections import defaultdict

DESKTOP = '/home/mac/Desktop'

#This dictionary will contain: <extension>: <list_of_files> mappings
register = defaultdict(list)

#Populate the register
for dir_, dirs, fnames in os.walk('/home/mac/Desktop'):
    for fname in fnames:
        register[fname.rsplit('.', 1)[1]].append(os.path.join(dir_, fname))

#Iterate over the register, creating the directory and moving the files 
#with that extension in it.
for dirname, files in register.iteritems():
    dirname = os.path.join(DESKTOP, dirname)
    if not os.path.exists(dirname):
        os.makedirs(dirname)
    for file_ in files:
        sh.move(file_, dirname)
于 2012-04-22T23:44:29.800 に答える
0

モジュールosとファイル名のリストから os.walk をお勧めします

于 2012-04-23T22:13:32.950 に答える