处理后移动文件

Moving files after processing

您好,我正在尝试移动已完成处理的日志,但我认为我使用的 shutil 有误。

import shutil

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

# parse loop
def getUniquePath(path):
    for filename in os.listdir(path):
       if..processing log 
       shutil.move(filename, finDir) #moves completed files

我一直收到文件不存在的错误。

所以我在循环后添加了一个打印语句,它正确地打印出了文件名和目的地,所以我认为我只是错误地使用了 shutil.move。

谢谢

除非您在 /logs/ 目录中,否则您需要将 pathfilename 合并。

否则,在当前目录下进行文件搜索;导致找不到文件,或错误的文件操作(如果当前目录中有同名文件)

使用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)
       #           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^