Python 3.x 如何根据时间或日期将文件从一个文件夹移动到另一个文件夹

Python 3.x 如何根据时间或日期将文件从一个文件夹移动到另一个文件夹,python-3.x,Python 3.x,我正在尝试根据时间或日期戳将文件从一个文件夹移动到另一个文件夹。就像我想把今天的文件放在同一个文件夹里,把昨天的文件移到另一个文件夹里 目前,我可以将文件从一个文件夹移动到另一个文件夹,但它不是基于日期或时间的 文件名将如下所示。 “output-android_login_scenarios-android-1.43-9859-2019-04-30 11:29:31.542548.html” -------蟒蛇 def move(self, srcdir,dstdir): curr

我正在尝试根据时间或日期戳将文件从一个文件夹移动到另一个文件夹。就像我想把今天的文件放在同一个文件夹里,把昨天的文件移到另一个文件夹里

目前,我可以将文件从一个文件夹移动到另一个文件夹,但它不是基于日期或时间的

文件名将如下所示。 “output-android_login_scenarios-android-1.43-9859-2019-04-30 11:29:31.542548.html”

-------蟒蛇

  def move(self, srcdir,dstdir):
    currentDirectory = os.path.dirname(__file__)
    sourceFile = os.path.join(currentDirectory, srcdir)
    destFile = os.path.join(currentDirectory, dstdir)
    if not os.path.exists(destFile):
        os.makedirs(destFile)
    source = os.listdir(sourceFile)
    try:
        for files in source:
            shutil.move(sourceFile+'/'+files, destFile)
    except:
          print("No file are present")

我想我有些东西可能适合你。我对你的“移动”函数做了一些小的调整,希望你不介意。如果您有多个需要移动的“旧”文件,此方法也可以使用

如果有帮助,请告诉我:)


我想我有些东西可能适合你。我对你的“移动”函数做了一些小的调整,希望你不介意。如果您有多个需要移动的“旧”文件,此方法也可以使用

如果有帮助,请告诉我:)

import os
import shutil
import re
from datetime import datetime

sourceDir = 'C:\\{folders in your directory}\\{folder containing the files}'
destDir = 'C:\\{folders in your directory}\\{folder containing the old files}'

files = os.listdir(sourceDir)

list_of_DFs = []
for file in files:
    if file.endswith('.html'):
        name = file
        dateRegex = re.compile(r'\d{4}-\d{2}-\d{2}')
        date = dateRegex.findall(file)

        df = pd.DataFrame({'Name': name, 'Date': date})
        list_of_DFs.append(df)

filesDF = pd.concat(list_of_DFs,ignore_index=True)

today = datetime.today().strftime('%Y-%m-%d')

filesToMove = filesDF[filesDF['Date'] != today]

def move(file, sourceDir, destDir):
    sourceFile = os.path.join(sourceDir, file)
    if not os.path.exists(destDir):
        os.makedirs(destDir)
    try:
        shutil.move(sourceFile, destDir)
    except:
        print("No files are present")

for i in range(len(filesToMove)):
    file = filesToMove['Name'][i]
    move(file,sourceDir,destDir)