1

ファイルがロックされているかどうかを判断するために、いくつかのファイルの名前を変更するスクリプトを作成しています。このスクリプトは、特定のディレクトリ内のすべてのファイルに対して次の処理を再帰的に実行します。

try: 
    os.rename(source, temp)
    os.rename(temp, source)
except OSError as e:
    print 'exception'

私の質問は、os.rename() 呼び出しの間に time.sleep(1) が必要ですか? 他の os.rename() 呼び出しが行われるまでにファイルの名前が変更されないのではないかと心配していますが、できるだけ速く実行したいと考えています。

助けてくれてありがとう。

4

2 に答える 2

7

いいえ、これらのコマンドはすべてブロックしているためです。

于 2013-08-22T18:56:42.403 に答える
2

2 番目os.rename()は、最初のコマンドが終了したときにのみ呼び出されます (ブロッキング コマンドの原則)。そのため、実行時間を気にする必要はありません。

于 2013-08-22T18:57:29.370 に答える