处理后移动文件
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/
目录中,否则您需要将 path
与 filename
合并。
否则,在当前目录下进行文件搜索;导致找不到文件,或错误的文件操作(如果当前目录中有同名文件)
使用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)
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
您好,我正在尝试移动已完成处理的日志,但我认为我使用的 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/
目录中,否则您需要将 path
与 filename
合并。
否则,在当前目录下进行文件搜索;导致找不到文件,或错误的文件操作(如果当前目录中有同名文件)
使用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)
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^