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将人民币转换大写的脚本代码
Feb 10 Python
python3.5基于TCP实现文件传输
Mar 20 Python
python2.7实现邮件发送功能
Dec 12 Python
Python单元测试unittest的具体使用示例
Dec 17 Python
python如何给字典的键对应的值为字典项的字典赋值
Jul 05 Python
Python分割训练集和测试集的方法示例
Sep 19 Python
Python之Matplotlib文字与注释的使用方法
Jun 18 Python
Anaconda+spyder+pycharm的pytorch配置详解(GPU)
Oct 18 Python
Python+OpenCV图像处理——图像二值化的实现
Oct 24 Python
python实现数学模型(插值、拟合和微分方程)
Nov 13 Python
python3 re返回形式总结
Nov 20 Python
Python进行区间取值案例讲解
Aug 02 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 执行系统外部命令 system() exec() passthru()
2009/08/11 PHP
PHP读取RSS(Feed)简单实例
2014/06/12 PHP
laravel 5 实现模板主题功能
2015/03/02 PHP
PHP实现通过URL提取根域名
2016/03/31 PHP
php实现登录tplink WR882N获取IP和重启的方法
2016/07/20 PHP
Laravel实现搜索的时候分页并携带参数
2019/10/15 PHP
javascript OFFICE控件测试代码
2009/12/08 Javascript
基于jQuery的淡入淡出可自动切换的幻灯插件
2010/08/24 Javascript
Jquery easyui 下loaing效果示例代码
2013/08/12 Javascript
JS动态修改iframe高度和宽度的方法
2015/04/01 Javascript
JS实现点击按钮后框架内载入不同网页的方法
2015/05/05 Javascript
JS实现支持多选的遍历下拉列表代码
2015/08/20 Javascript
js命名空间写法示例
2015/12/18 Javascript
javascript新闻跑马灯实例代码
2020/07/29 Javascript
js实现页面a向页面b传参的方法
2016/05/29 Javascript
ionic进入多级目录后隐藏底部导航栏(tabs)的完美解决方案
2016/11/23 Javascript
vue中如何实现变量和字符串拼接
2017/06/19 Javascript
AngularJS实现页面跳转后自动弹出对话框实例代码
2017/08/02 Javascript
Vue2 SSR渲染根据不同页面修改 meta
2017/11/20 Javascript
Openlayers实现图形绘制
2020/09/28 Javascript
python两种遍历字典(dict)的方法比较
2014/05/29 Python
python实现连接mongodb的方法
2015/05/08 Python
python kmeans聚类简单介绍和实现代码
2018/02/23 Python
python模仿网页版微信发送消息功能
2018/02/24 Python
python实现12306抢票及自动邮件发送提醒付款功能
2018/03/08 Python
Python文件常见操作实例分析【读写、遍历】
2018/12/10 Python
python实现一个简单的ping工具方法
2019/01/31 Python
python变量命名的7条建议
2019/07/04 Python
python3中的eval和exec的区别与联系
2019/10/10 Python
如何用Python进行时间序列分解和预测
2021/03/01 Python
精伦电子Java笔试题
2013/01/16 面试题
皮肤科医师岗位职责
2013/12/04 职场文书
售后服务承诺书怎么写
2014/05/21 职场文书
三八红旗集体先进事迹材料
2014/05/22 职场文书
运动员口号
2014/06/09 职场文书
2015重阳节敬老活动总结
2015/07/29 职场文书