0

ディレクトリに「foo.bill.me.txt」という名前のファイルがあり、同じディレクトリに「foo.txt」という名前のファイルもあります。「foo.bill.me.txt」の名前を「foo.txt」に変更し、元の「foo.txt」を上書きしてから、「foo.bill.me.txt」を削除します。

4

1 に答える 1

1

これは本当にjythonのタグが付けられていますか。その場合は、pythonosモジュールのドキュメントを使用してください

これにより、UNIXフレーバーでアトミック操作が実行されます。

os.rename('foo.bill.me.txt','foo.txt')

Windowsの場合、名前変更のドキュメントは次のようになります。

Windowsでは、dstがすでに存在する場合、ファイルであってもOSErrorが発生します。dstが既存のファイルに名前を付ける場合、アトミックな名前変更を実装する方法がない場合があります。

したがって、Windowsでは、「非アトミック」という2つのステップが必要です。

os.remove('foo.txt')
os.rename('foo.bill.me.txt','foo.txt')
于 2012-07-12T05:07:47.717 に答える