Python文件没有移动到新目录?

时间:2016-12-08 01:18:02

标签: python

我创建了一个脚本,以便将修改过的或新文件从一个文件夹移动到另一个文件夹。运行时,它没有显示错误,工作正常。然而,没有文件移动过。为什么会这样?

import os
from shutil import move
from time import time

def mins_since_mod(fname):
    """Return time from last modification in minutes"""
    return (time() - os.path.getmtime(fname)) / 60

PARENT_DIR = 'C:\Users\Student\Desktop\FolderA'
MOVE_DIR = 'C:\Users\Student\Desktop\FolderB'

# Loop over files in PARENT_DIR
for fname in os.listdir(PARENT_DIR):
    # If the file is a directory and was modified in last 15 minutes
    if os.path.isdir(fname) and mins_since_mod(fname) < 15:
        move(fname, MOVE_DIR) # move it to a new location

2 个答案:

答案 0 :(得分:0)

正如提到的melpomene,os.listdir()返回文件名列表而不是完整路径。

对于无效路径,

os.path.isdir()的结果为False,因此永远不会调用move(...)

答案 1 :(得分:0)

这可能有所帮助:

# Loop over files in PARENT_DIR
for root, dirs, files in os.walk(PARENT_DIR):
    for fname in dirs:
        if mins_since_mod(fname) < 15:
            move(os.path.join(root, fname), MOVE_DIR) # move it to a new location