2

何を置き換えたいか、何に置き換えるかを尋ねるプログラムを書きたいと思います。

拡張子が異なるファイルの大きなグループがあり、ファイル名の一部を置き換えたいのですが、置き換えたい部分はすべて同じです。フォルダ内のすべてのファイルに対して実行したい

だから私は次のようなファイルを持っています

ABC.txt
gjdABCkg.txt
ABCfg.jpg
ffABCff.exe

私はABCを私が望む3文字に置き換えたいだけです。私はPython 3.2を使用しています

私はそれを機能させることができるかどうかを確認するためにいじっていましたが、私がしたことは何も機能していなかったので、これまでのところ私が持っているものです.

import os  

directory = input ("Enter your directory")
old = input ("Enter what you want to replace ")
new = input ("Enter what you want to replace it with")
4

2 に答える 2

3

おそらくいくつか追加する必要がありますが、基本的な考え方は次のとおりです。

import os

def rename(path,old,new):
    for f in os.listdir(path):
        os.rename(os.path.join(path, f), 
                  os.path.join(path, f.replace(old, new)))

編集:コメントで@JF Sebastianが指摘したように、Python 3.3からの相対パスを使用できます(少なくともLinuxマシンでは)。

ドキュメントから:

os.replace(src, dst, *, src_dir_fd=None, dst_dir_fd=None)ディレクトリ記述子に関連するパスの指定src_dir_fdおよび/またはdst_dir_fd提供をサポートできます。

于 2013-01-23T21:41:20.123 に答える