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中实现定制类的特殊方法总结
Sep 28 Python
使用Python中的线程进行网络编程的入门教程
Apr 15 Python
Python if语句知识点用法总结
Jun 10 Python
python感知机实现代码
Jan 18 Python
python判断无向图环是否存在的示例
Nov 22 Python
Django2 连接MySQL及model测试实例分析
Dec 10 Python
简单了解Python write writelines区别
Feb 27 Python
python 安装教程之Pycharm安装及配置字体主题,换行,自动更新
Mar 13 Python
Keras使用ImageNet上预训练的模型方式
May 23 Python
python如何查看网页代码
Jun 07 Python
OpenCV读取与写入图片的实现
Oct 13 Python
Python提取PDF指定内容并生成新文件
Jun 09 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
递归列出所有文件和目录
2006/10/09 PHP
一个高ai的分页函数和一个url函数
2006/10/09 PHP
dede全站URL静态化改造[070414更正]
2007/04/17 PHP
探讨如何把session存入数据库
2013/06/07 PHP
php数组添加与删除单元的常用函数实例分析
2015/02/16 PHP
PhpStorm2020.1 安装 debug - Postman 调用的详细教程
2020/08/17 PHP
js播放wav文件(源码)
2013/04/22 Javascript
封装html的select标签的js操作实例
2013/07/02 Javascript
使用js写的一个简易的投票
2013/11/27 Javascript
JavaScript四种调用模式和this示例介绍
2014/01/02 Javascript
JavaScript中变量声明有var和没var的区别示例介绍
2014/09/15 Javascript
JavaScript中的函数嵌套使用
2015/06/04 Javascript
分享12个非常实用的JavaScript小技巧
2016/05/11 Javascript
JavaScript通过HTML的class来获取HTML元素的方法总结
2016/05/24 Javascript
JavaScript对象数组如何按指定属性和排序方向进行排序
2016/06/15 Javascript
javascript中Number的方法小结
2016/11/21 Javascript
URL中“#” “?” &amp;“”号的作用浅析
2017/02/04 Javascript
jQuery插件HighCharts实现气泡图效果示例【附demo源码】
2017/03/13 Javascript
Vue.js仿Metronic高级表格(一)静态设计
2017/04/17 Javascript
AngularJS中控制器函数的定义与使用方法示例
2017/10/10 Javascript
nodejs爬虫初试superagent和cheerio
2018/03/05 NodeJs
生成无限制的微信小程序码的示例代码
2019/09/20 Javascript
TypeScript的安装、使用、自动编译的实现
2020/04/10 Javascript
vue实践---根据不同环境,自动转换请求的url地址操作
2020/09/21 Javascript
python中的计时器timeit的使用方法
2017/10/20 Python
使用DataFrame删除行和列的实例讲解
2018/04/08 Python
python GUI库图形界面开发之PyQt5窗口控件QWidget详细使用方法
2020/02/26 Python
《搭石》教学反思
2014/04/07 职场文书
俞敏洪励志演讲稿
2014/04/29 职场文书
商业项目策划方案
2014/06/05 职场文书
2014年团员学习十八大思想汇报
2014/09/13 职场文书
销售经理工作失职检讨书
2014/10/24 职场文书
婚内分居协议书范文
2014/11/26 职场文书
傲慢与偏见电影观后感
2015/06/10 职场文书
房屋买卖定金协议书
2016/03/21 职场文书
Python中基础数据类型 set集合知识点总结
2021/08/02 Python