Python实现查询某个目录下修改时间最新的文件示例


Posted in Python onAugust 29, 2018

本文实例讲述了Python实现查询某个目录下修改时间最新的文件。分享给大家供大家参考,具体如下:

通过Python脚本,查询出某个目录下修改时间最新的文件。

应用场景举例:比如有时候需要从ftp上拷贝自己刚刚上传的文件,那么这时就需要判断哪个文件的修改时间是最新的,即最后修改的文件是我们的目标文件。

直接撸代码:

# -*- coding: utf-8 -*-
import os
import shutil
def listdir(path, list_name): #传入存储的list
 for file in os.listdir(path):
  file_path = os.path.join(path, file)
  if os.path.isdir(file_path):
   listdir(file_path, list_name)
  else:
   list_name.append((file_path,os.path.getctime(file_path)))
def newestfile(target_list):
 newest_file = target_list[0]
 for i in range(len(target_list)):
  if i < (len(target_list)-1) and newest_file[1] < target_list[i+1][1]:
   newest_file = target_list[i+1]
  else:
   continue
 print('newest file is',newest_file)
 return newest_file
#p = r'C:\Users\WMB\700c-4'
p = r'C:\Users\Administrator\Desktop\img'
list = []
listdir(p, list)
new_file = newestfile(list)
print('from:',new_file[0])
print('to:',shutil.copy(new_file[0], 'C:\\Users\\Administrator\\Desktop\\img\\a.xml'))

运行结果:

('newest file is', ('C:\\Users\\Administrator\\Desktop\\img\\logo.gif', 1535508866.833419))
('from:', 'C:\\Users\\Administrator\\Desktop\\img\\logo.gif')
('to:', None)

方法说明:

def listdir(path, list_name): #传入存储的list
 for file in os.listdir(path):
  file_path = os.path.join(path, file)
  if os.path.isdir(file_path): #如果是目录,则递归执行该方法
   listdir(file_path, list_name)
  else:
    list_name.append((file_path,os.path.getctime(file_path))) #把文件路径,文件创建时间加入list中
def newestfile(target_list): #传入包含文件路径,文件创建时间的list
 newest_file = target_list[0] #冒泡算法找出时间最大的
 for i in range(len(target_list)):
  if i < (len(target_list)-1) and newest_file[1] < target_list[i+1][1]:
   newest_file = target_list[i+1]
  else:
   continue
 print('newest file is',newest_file)
 return newest_file
shutil.copy(new_file[0], 'C:\\Users\\Administrator\\Desktop\\img\\a.xml') #文件拷贝

补充:shutil.copy(source, destination)的使用说明

shutil.copy(source, destination)(这种复制形式使用的前提是必须要有 os.chdir(你要处理的路径)

source/destination 都是字符串形式的路劲,其中destination是:

  • 1、可以是一个文件的名称,则将source文件复制为新名称的destination
  • 2、可以是一个文件夹,则将source文件复制到destination中
  • 3、若这个文件夹不存在,则将source目标文件内的内容复制到destination中

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python使用cPickle模块序列化实例
Sep 25 Python
在Python中用has_key()方法查找键是否存在的教程
May 21 Python
Python3使用requests登录人人影视网站的方法
May 11 Python
Python3多线程操作简单示例
May 22 Python
Python实现聊天机器人的示例代码
Jul 09 Python
利用Python如何实现一个小说网站雏形
Nov 23 Python
python爬虫URL重试机制的实现方法(python2.7以及python3.5)
Dec 18 Python
Pandas —— resample()重采样和asfreq()频度转换方式
Feb 26 Python
浅谈Python线程的同步互斥与死锁
Mar 22 Python
Python文件时间操作步骤代码详解
Apr 13 Python
Python魔术方法专题
Jun 19 Python
Python实现生活常识解答机器人
Jun 28 Python
有关Python的22个编程技巧
Aug 29 #Python
Python实现多线程的两种方式分析
Aug 29 #Python
Python运维自动化之nginx配置文件对比操作示例
Aug 29 #Python
python单例模式实例解析
Aug 28 #Python
Python3.7实现中控考勤机自动连接
Aug 28 #Python
python实现遍历文件夹修改文件后缀
Aug 28 #Python
Python绘制正余弦函数图像的方法
Aug 28 #Python
You might like
php中批量替换文件名的实现代码
2011/07/20 PHP
TMDPHP 模板引擎使用教程
2012/03/13 PHP
PHP连接SQLSERVER 注意事项(附dll文件下载)
2012/06/28 PHP
php过滤HTML标签、属性等正则表达式汇总
2014/09/22 PHP
PHP根据图片色界在不同位置加水印的方法
2015/07/01 PHP
PHP实现上一篇下一篇的方法实例总结
2016/09/22 PHP
Win10 下安装配置IIS + MySQL + nginx + php7.1.7
2017/08/04 PHP
JavaScript中__proto__与prototype的关系深入理解
2012/12/04 Javascript
Jquery Uploadify多文件上传带进度条且传递自己的参数
2013/08/28 Javascript
原生javascript实现隔行换色
2015/01/04 Javascript
jquery实现公告翻滚效果
2015/02/27 Javascript
深入浅析AngularJS中的module(模块)
2016/01/04 Javascript
详解JavaScript中|单竖杠运算符的使用方法
2016/05/23 Javascript
JS与jQuery实现隔行变色的方法
2016/09/09 Javascript
详解jQuery简单的表格应用
2016/12/16 Javascript
react-router中的属性详解
2017/06/01 Javascript
纯js实现的积木(div层)拖动功能示例
2017/07/19 Javascript
原生javascript如何实现共享onload事件
2020/07/03 Javascript
手写Vue2.0 数据劫持的示例
2021/03/04 Vue.js
python中django框架通过正则搜索页面上email地址的方法
2015/03/21 Python
Python字符串逐字符或逐词反转方法
2015/05/21 Python
Python可变和不可变、类的私有属性实例分析
2019/05/31 Python
python禁用键鼠与提权代码实例
2019/08/16 Python
wxPython实现绘图小例子
2019/11/19 Python
详解Python 实现 ZeroMQ 的三种基本工作模式
2020/03/24 Python
Python如何定义有可选参数的元类
2020/07/31 Python
python 通过pip freeze、dowload打离线包及自动安装的过程详解(适用于保密的离线环境
2020/12/14 Python
最耐用行李箱,一箱永流传:Briggs & Riley(全球终身保修)
2017/12/07 全球购物
面向游戏玩家和书呆子的极客订阅盒:Loot Crate
2020/11/25 全球购物
C语言50道问题
2014/10/23 面试题
软件缺陷的分类都有哪些
2014/08/22 面试题
乡镇三严三实学习心得体会
2014/10/13 职场文书
个人原因辞职信模板
2015/05/13 职场文书
大学毕业谢师宴致辞
2015/07/27 职场文书
2016暑期政治学习心得体会
2016/01/23 职场文书
《云雀的心愿》教学反思
2016/02/23 职场文书