Google/StackOverflowでこのコードを調べるために誤った言葉を使用しているような気がします。Pythonに存在するファイルの名前を変更する
私は、(とりわけ)多くのファイルを動かす予定のスクリプトを作成しています。
現在、ファイル名が拡張子から分割され、ファイルがディレクトリに既に存在する場合は、Filename +(Duplicate)+ Extensionを追加するための小さな行があります。
しかし、基本的には(複製)、(複製2)、(複製3)などの基本的な機能を持つ簡単な1ライナーが必要ですファイルに現在の番号がある場合は番号を次の番号に変更します)。
私は自分自身を理解するにはあまりにも愚かなのですか?
申し訳ありませんが、私の現在のコードは人々が私の質問に答えるのに役立つかもしれません。
def destination(self, f): return os.path.abspath('.')+'/'+self.filename(f)+'/'+self.filename(f)+' (Duplicate)'+self.extension(f) if and os.path.isfile(os.path.abspath('.')+'/'+self.filename(f)+'/'+f) else os.path.abspath('.')+'/'+self.filename(f)+'/'+f
私は、ファイル名と拡張子を(基本的にちょうどいくつかのrarの部品といくつかのフォルダの問題を回避するために)なって若干変更された方法を使用しました。しかし、 'self.filename(f)とself.extension(f)は基本的にはos.splittext(f)[0]とos.splittext(f)[1]です。
あなたは既に持っている、簡単ではありません - 十分な解決策は何ですか? –
@Robin Hood **ファイルの回転**はあなたが参照している用語かもしれません。 Pythonでは、[logging](http://docs.python.org/library/logging.html)モジュールがファイルのローテーションを設定するために使用されるため、ロギングモジュールによって処理されます。私は、ロギング(およびその結果のファイルローテーション)設定の設定に役立つ[this](http://stackoverflow.com/questions/4654915/rotate-logfiles-each-time-the-application-is-started-python)を見つけました。ファイル名を手動で名前を変更(または* rotate *)するには、* one *ライナーについては不明です。 –
申し訳ありませんが私は明確でない場合は、問題は、私のソリューションは単純ではないことではない、それはちょうど私の解決策は、1つの重複を扱うことができると私はそれを2つ本質的に同じであるが、 'Duplicate 1'というコードの別のブロックを追加して、通常と 'Duplicate'の両方をチェックすることです - 完全にばかげて非常に長くて、どのくらいの人が私が追加することを決めたかによって制限されています。 –