当前位置: 首页 > 知识库问答 >
问题:

复制目录中具有特定日期的文件

杜俊逸
2023-03-14

我想复制具有特定日期的文件。我可以过滤掉日期。复制会产生问题。

import os
from os import walk
import time
from datetime import date, timedelta
import zipfile
import io
import shutil

src = 'K:\\Userfiles'
dest = 'L:\\Userfiles'
date1 = date.today() - timedelta(2)

for root, dirs, files in os.walk(src):

  for file in files:
      if ( 'zip' in file):
        x = file[-18:-8]
        d = date1.strftime('%Y-%m-%d')
        if x == d:

            shutil.copyfile(file, dest)

错误是:FileNotFoundError:[Errno 2]没有这样的文件或目录。

回溯(最近的最后一次调用):
文件"C:/Python37/datetime_finder.py",第28行,在shutil.copyfile(文件,'K:\Userfiles\Ucar\UNZIP')
文件"C:\Python37\lib\shutil.py",第120行,
在带有open(src,'rb')的复制文件中为fsrc: FileNotFoundError:[Errno 2]没有这样的文件或目录:'getContents_2019-01-27.csv.zip

共有3个答案

凌通
2023-03-14

您在这一行中得到了错误。copyfile(文件,目标)

提及完整路径应该可以解决问题。

例如:

shutil.copyfile(os.path.join(root, file), ".")
南宫凡
2023-03-14

如果我没有弄错的话,您的内部循环中缺少设置dest值,因此shutil。copyfile失败,因为作为第二个参数,“(空字符串)没有意义。如果只想复制<代码>,请作为旁注。zip文件最好使用:

if file.endswith('zip'):

而不是

if ('zip' in file):

这也是正确的,例如,对于zip\u文件的my\u list\u。txt“,还要记住区分大小写,所以如果使用以下代码,可能会更好

if file.lower().endswith('zip'):
海宁
2023-03-14

摘自https://docs.python.org/3/library/shutil.html#shutil.copyfile

<代码>shutil copyfile(复制文件)(src、dst、follow\u symlinks=True)

将名为src的文件的内容(无元数据)复制到名为dst的文件中,然后返回dstsrc和dst是以字符串形式给出的路径名dst必须是完整的目标文件名;看看舒蒂尔。copy(),用于接受目标目录路径的副本。

 类似资料:
  • 问题内容: 我得到一个Date对象,我需要将其转换为XMLGregorian Calendar特定格式 我尝试了以下方法 我有一个例外,可以肯定的是我在这里做错了。但是我想将Date对象格式化为指定的格式,这可以完美地由sdf.format完成。 但是,如何为同一对象(来自formattedDate)创建XMLGregorianCalendar对象? 问题答案: 您可以通过date对象本身来实现:

  • 我有一个简单的问题:我使用迭代一个大的、深嵌套的目录结构,如下所示: 我的目标是添加特定目录下的所有文件,我知道该目录最多是下的级别。 语言级别为Java8。

  • 假设我的系统上有一个特定的目录。 我想读取整个目录,并检查其中的文件是否有特定的扩展名。说<代码>。json为例。如果目录中有多个扩展名为< code >的文件。json列出所有这些文件及其名称。 我可以使用< code > File File = new File(my path);并连续执行< code>file.exists(),但是我如何扫描整个目录中的文件呢?这就是我困惑的地方。 任何帮

  • 问题内容: 以下代码将列出目录中的所有文件 尽管这是非常简单的代码,但可以完成工作。 我现在正在寻找一种仅列出结尾处带有.xml(或.XML)的文件的方法,该怎么办? 问题答案: 使用substr和strrpos查看扩展的简单方法

  • 问题内容: “安装”目标将工件复制到目标目录和本地存储库。 我如何告诉Maven也将其复制 到给定目录 (例如JBoss的deploy目录)。 问题答案: maven-dependency-plugin 的目标副本可以满足您的要求,请参见示例。 但是,最好不要在目标目录之外(或精确地说)复制任何内容- 尤其是将这种操作附加到构建阶段时,因为它会引入构建的意外副作用,有时甚至会降低可重复性。 正如@

  • 问题内容: 我试图在构建过程中将文件复制到网络目录中,并且不断收到“没有这样的文件或目录”错误消息。 复制到本地驱动器可以正常工作: 以下所有引发相同的消息: 我什至创建了一个Shell脚本来从Jenkins调用,但是我仍然收到该消息。 有什么方法可以将文件复制到构建计算机上的映射驱动器上? 谢谢!! 问题答案: 我猜想映射的驱动器在服务上下文中不可用,或者执行Jenkins的用户无法访问它。Je