2017-02-23 17 views
2

こんにちは、処理が終了したログを移動しようとしていますが、シャッターが間違っていると思います。処理後のファイルの移動

ファイルが存在しないというエラーが発生し続けます。

ループの後にprintステートメントを追加して、ファイル名と出力先を正しく表示するので、私はちょうどshutil.moveを間違って使用していると思っています。あなたは/logs/ディレクトリにある場合を除きfilenamepathを結合する必要が

おかげ

+0

'最初の' os.chdir(path_to_fileを)やってみてください。 –

答えて

1

それ以外の場合、ファイルの検索は現在のディレクトリで行われます。これは(現在のディレクトリに同じ名前のファイルがあった場合)os.path.joinを使用して

をファイルが見つからない、または間違ったファイル操作を引き起こす:

import os 
import shutil 

path = '/logs/' 
finDir = '/complete/' 

# parse loop 
def getUniquePath(path): 
    for filename in os.listdir(path): 
     .. 
     shutil.move(os.path.join(path, filename), finDir) 
     #   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 
+0

ああこれはすごくいいですね。 Shutil.moveアカウントは、宛先ディレクトリにファイルが存在すると言いますか?移動に「試してください」という条件を追加するのは意味がありますか?私はそれを続行したいと思っています。それのための最良の方法は何でしょうか? @falsetru – chowpay

+0

@chowpay、「try:.... except ...:...」を使用しています。 – falsetru

+0

その奇妙な。だから私は 'try:shutil.move(os.path.join(path、filename)、finDir)を除いて:pass'を追加し、1つのファイルだけが移動されました。試しを削除して、すべてが@falsetru – chowpay