2

1つのディレクトリに、拡張子が異なる多数のファイルがあるとします。

dsgxy7wusshg2.jpg
ds65321333321.png
ds2716113shg2.jpg
d3171763462g2.jpg
5432125321hg2.png
db37fv73v7av1.png
d0zhzb38b22g2.jpg
d3171763462nb.jpg

すべてのファイルの名前を次の形式に変更する小さなスクリプトを作成したいと思いますmystring_x.ext。ここでmystring、はスクリプトで設定した文字列、は名前を変更するファイルxの番号であり、ファイルext元の拡張子になります。同じ番号を使用し、拡張子が異なる2つのファイルを作成することはできません。番号ごとに1つのファイルのみ。

モジュールを使用してファイルの名前を変更する必要があることは理解してosいますが、このタスクを実行するにはどのような手順を試して使用する必要がありますか?

4

1 に答える 1

3
directory = '/path/to/dir'
base = 'mystring'

for i, f in enumerate(os.listdir(directory), 1):
    ext = f.rsplit('.', 1)[-1]
    absolutify = lambda s: os.path.join(directory, s)
    os.rename(absolutify(f), absolutify('%s_%d.%s' % (base, i, ext)))
于 2012-05-25T17:26:08.267 に答える