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获取各操作系统硬件信息的方法
Jun 03 Python
python实现超市扫码仪计费
May 30 Python
对Tensorflow中权值和feature map的可视化详解
Jun 14 Python
Python 普通最小二乘法(OLS)进行多项式拟合的方法
Dec 29 Python
利用selenium爬虫抓取数据的基础教程
Jun 10 Python
Python中join()函数多种操作代码实例
Jan 13 Python
详解用Pytest+Allure生成漂亮的HTML图形化测试报告
Mar 31 Python
python 爬虫爬取京东ps4售卖情况
Dec 18 Python
分享一个python的aes加密代码
Dec 22 Python
Python中Pyspider爬虫框架的基本使用详解
Jan 27 Python
python munch库的使用解析
May 25 Python
Appium中scroll和drag_and_drop根据元素位置滑动
Feb 15 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连接MySQL代码的参数说明
2008/06/07 PHP
php输出echo、print、print_r、printf、sprintf、var_dump的区别比较
2013/06/21 PHP
使用php判断网页是否gzip压缩
2013/06/25 PHP
smarty模板引擎使用内建函数foreach循环取出所有数组值的方法
2015/01/22 PHP
js网页中的(运行代码)功能实现思路
2013/02/04 Javascript
js取消单选按钮选中示例代码
2013/11/14 Javascript
javascript获取xml节点的最大值(实现代码)
2013/12/11 Javascript
如何书写高质量jQuery代码(使用jquery性能问题)
2014/06/30 Javascript
JS数组的遍历方式for循环与for...in
2014/07/31 Javascript
使用时间戳解决ie缓存的问题
2014/08/20 Javascript
基于jquery实现最简单的选项卡切换效果
2016/05/08 Javascript
jQuery实现的可编辑表格完整实例
2016/06/20 Javascript
D3.js实现文本的换行详解
2016/10/14 Javascript
JS实现点击网页判断是否安装app并打开否则跳转app store
2016/11/18 Javascript
基于JS实现的随机数字抽签实例
2016/12/08 Javascript
javascript定时器取消定时器及优化方法
2017/07/08 Javascript
vue+iview写个弹框的示例代码
2017/12/05 Javascript
Webpack path与publicPath的区别详解
2018/05/03 Javascript
简单的React SSR服务器渲染实现
2018/12/11 Javascript
详解使用mocha对webpack打包的项目进行&quot;冒烟测试&quot;的大致流程
2020/04/27 Javascript
JS数据类型分类及常用判断方法
2020/11/19 Javascript
Python实现优先级队列结构的方法详解
2016/06/02 Python
利用Anaconda完美解决Python 2与python 3的共存问题
2017/05/25 Python
Python使用numpy产生正态分布随机数的向量或矩阵操作示例
2018/08/22 Python
Python Pandas 对列/行进行选择,增加,删除操作
2020/05/17 Python
对python pandas中 inplace 参数的理解
2020/06/27 Python
浅析Python面向对象编程
2020/07/10 Python
kmart凯马特官网:美国最大的打折零售商和全球最大的批发商之一
2016/11/17 全球购物
美丽的珠宝配饰:SmallThings
2019/09/04 全球购物
校园网站的创业计划书范文
2013/12/30 职场文书
单位授权委托书范本
2014/09/26 职场文书
关于五一放假的通知
2015/08/18 职场文书
2016年幼儿园庆六一开幕词
2016/03/04 职场文书
想创业成功,需要掌握这些要点
2019/12/06 职场文书
CSS实现隐藏搜索框功能(动画正反向序列)
2021/07/21 HTML / CSS
MySql子查询IN的执行和优化的实现
2021/08/02 MySQL