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中类的继承代码实例
Oct 28 Python
Python实现ping指定IP的示例
Jun 04 Python
分析python请求数据
Aug 19 Python
Python SMTP发送邮件遇到的一些问题及解决办法
Oct 24 Python
Python编程中flask的简介与简单使用
Dec 28 Python
Python爬虫实战之12306抢票开源
Jan 24 Python
使用PyQtGraph绘制精美的股票行情K线图的示例代码
Mar 14 Python
解决.ui文件生成的.py文件运行不出现界面的方法
Jun 19 Python
Python之time模块的时间戳,时间字符串格式化与转换方法(13位时间戳)
Aug 12 Python
通过Python编写一个简单登录功能过程解析
Sep 04 Python
python selenium循环登陆网站的实现
Nov 04 Python
python如何获得list或numpy数组中最大元素对应的索引
Nov 16 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-fpm的两种进程管理模式详解
2013/06/03 PHP
php正则取img标记中任意属性(正则替换去掉或改变图片img标记中的任意属性)
2013/08/13 PHP
详解WordPress开发中wp_title()函数的用法
2016/01/07 PHP
php封装的验证码工具类完整实例
2016/10/19 PHP
PHP实现json_decode不转义中文的方法
2017/05/20 PHP
PHP实现的DES加密解密类定义与用法示例
2020/11/02 PHP
通用javascript脚本函数库 方便开发
2009/10/13 Javascript
javascript中HTMLDOM操作详解
2014/12/11 Javascript
jQuery中even选择器的定义和用法
2014/12/23 Javascript
JavaScript 学习笔记之操作符
2015/01/14 Javascript
js实现超简单的展开、折叠目录代码
2015/08/28 Javascript
深入浅析JavaScript中对事件的三种监听方式
2015/09/29 Javascript
jQuery mobile转换url地址及获取url中目录部分的方法
2015/12/04 Javascript
javascript 数组的定义和数组的长度
2016/06/07 Javascript
超全面的vue.js使用总结
2017/02/12 Javascript
JavaScript实现左右滚动电影画布
2020/02/06 Javascript
Vue this.$router.push(参数)实现页面跳转操作
2020/09/09 Javascript
pymssql ntext字段调用问题解决方法
2008/12/17 Python
python使用pil生成图片验证码的方法
2015/05/08 Python
python实现文本去重且不打乱原本顺序
2016/01/26 Python
Python使用pickle进行序列化和反序列化的示例代码
2020/09/22 Python
python将下载到本地m3u8视频合成MP4的代码详解
2020/11/24 Python
教你一分钟在win10终端成功安装Pytorch的方法步骤
2021/01/28 Python
python解决OpenCV在读取显示图片的时候闪退的问题
2021/02/23 Python
CSS3 animation实现逐帧动画效果
2016/06/02 HTML / CSS
详解Html5中video标签那些属性和方法
2019/07/01 HTML / CSS
利用HTML5画出一个坦克的形状具体实现代码
2013/06/20 HTML / CSS
前端实现背景虚化但内容清晰且自适应 的实例代码
2019/08/01 HTML / CSS
伯利陶器:Burleigh Pottery
2018/01/03 全球购物
Ajxa常见问题都有哪些
2014/03/26 面试题
电大自我鉴定范文
2013/10/01 职场文书
军训自我鉴定
2013/12/14 职场文书
我读书我快乐演讲稿
2014/05/07 职场文书
行政复议决定书
2015/06/24 职场文书
新郎父亲婚礼致辞
2015/07/27 职场文书
学习党章心得体会2016
2016/01/15 职场文书