さて、検索するファイル名が与えられたときに、ファイルを検索、移動、および名前変更するためのスクリプトができました。プロセスを自動化するために、Robotics フォルダー内のすべてのフォルダー全体にイテレーターのラッパーを作成しました。コードは次のとおりです。
#! /usr/bin/env python
import os
import sys
import time
files = [ ... Big long list of filenames ... ]
for item in files:
sys.stdout.write("Analyzing & Moving " + item + "... ")
os.system('python mover-s.py "' + item + '"')
sys.stdout.write("Done.\n")
print ""
print "All files analyzed, moved, and renamed."
今、元のスクリプトを実行して終了するのに約2秒かかります。私がやりたいのは、「分析して移動中....」を表示し、スクリプトが終了した後に「完了」を表示することです。私の問題は、メッセージと「完了」の両方です。メッセージが同時に表示されます。約 0.25 秒の短い一時停止を追加しましたが、同じことが言えますが、「Analyzing & Moving anything... Done」を表示するのにかかる時間が 0.25 秒増えるだけです。基本的に、最初のメッセージが表示されず、一時停止してから 2 番目のメッセージが表示されないのはなぜですか? 現時点では、行全体が同時に表示されるためです。これは、パイプなどに関する私の知識が乏しいためかもしれません..