-
2020-06-14 22:40:00
/** * 获取文件夹并按时间排序 * @param string $dir 文件夹路径 * @param int $sort 排序方式 * @return array */ function getDirSort($dir,$sort=SORT_DESC){ $dir .= substr($dir, -1) == '/' ? '' : '/'; $dirList = $timeArr = array(); foreach (glob($dir.'*',GLOB_ONLYDIR) as $v) { // $getfilemtime = date("Y-m-d H:i:s",filemtime($v));//获取文件夹最近修改日期 $getfilemtime = filemtime($v);//获取文件夹最近修改日期 /* $files['file'] = iconv('gbk','utf-8',$v);//获取文件夹名称 $files['time'] = $getfilemtime; $dirList[] = $files; */ $dirList[] = iconv('gbk','utf-8',$v);//获取文件夹名称 $timeArr[] = $getfilemtime; } if (!empty($dirList)){ array_multisort($timeArr,$sort,SORT_STRING, $dirList);//按时间排序 //array_multisort($file,$sort,SORT_STRING, $arr);//按名字排序 //array_multisort($size,$sort,SORT_NUMERIC, $arr);//按大小排序 } return $dirList; }
更多相关内容 -
MFC实现文件夹浏览选择(文件夹按修改时间排序)
2020-10-15 09:36:36MFC实现文件夹浏览选择(文件夹按修改时间排序) 在浏览选择文件夹上,微软早已给出 SHBrowseForFolder 方法,但是此方法浏览的文件夹,没有按修改时间排序功能。本程序就对文件夹做了排序算法,使之可以按照想要的... -
python按时间排序目录下的文件实现方法
2020-12-23 12:00:26python文件夹遍历,文件操作,获取文件修改创建时间可以去网上参考其他文章。 如: os.path.getmtime() 函数是获取文件最后修改时间 os.path.getctime() 函数是获取文件最后创建时间 def get_file_list(file_path): ... -
linux找到占用空间比较大的文件夹并按大小排序输出
2021-01-09 06:31:12/home是路径,可以按需修改(尽量缩小路径范围,根目录慎用,因时间太久) -m的单位是MB,可用-g或-k替换代表GB和KB,输出的左边第一列就是文件夹占用的磁盘空间大小。 -50是输出前50行,也可以根据需求自由改变数字... -
python 获取文件夹中指定格式文件,并按照创建时间排序
2018-04-29 18:18:35python 获取指定文件夹中的指定格式文件,例如.txt,然后按照创建时间(也可以是其他排序规则),按顺序输出文件名。 -
java文件夹按时间、大小等排序
2011-04-08 01:02:45java文件夹排序,按时间、大小等排序。。。。。。 -
【Python】将文件夹中文件按时间排序输出及os.path使用汇总
2022-07-07 11:00:35在使用之前我们需要了解几个功能(参考:Python os.path() 模块):在相关使用中,我们可以看到有几个关于获取文件时间的函数:有了这几个函数那么就好办了,以获取文件夹下按照创建时间排序后的文件列表实现如下:....背景
通常使用
os.listdir
获取的文件list是按照文件名进行排序的,但有时需求是按照文件创建时间或修改时间后排序的结果。知识回顾
依然使用的系统自带的
os
功能包。在使用之前我们需要了解几个功能(参考:Python os.path() 模块):os.path.abspath(path) 返回绝对路径 os.path.basename(path) 返回文件名 os.path.commonprefix(list) 返回list(多个路径)中,所有path共有的最长的路径 os.path.dirname(path) 返回文件路径 os.path.exists(path) 如果路径 path 存在,返回 True;如果路径 path 不存在,返回 False。 os.path.lexists 路径存在则返回True,路径损坏也返回True os.path.expanduser(path) 把path中包含的""和"user"转换成用户目录 os.path.expandvars(path) 根据环境变量的值替换path中包含的" n a m e " 和 " name"和" name"和"{name}" os.path.getatime(path) 返回最近访问时间(浮点型秒数) os.path.getmtime(path) 返回最近文件修改时间 os.path.getctime(path) 返回文件 path 创建时间 os.path.getsize(path) 返回文件大小,如果文件不存在就返回错误 os.path.isabs(path) 判断是否为绝对路径 os.path.isfile(path) 判断路径是否为文件 os.path.isdir(path) 判断路径是否为目录 os.path.islink(path) 判断路径是否为链接 os.path.ismount(path) 判断路径是否为挂载点 os.path.join(path1[, path2[, …]]) 把目录和文件名合成一个路径 os.path.normcase(path) 转换path的大小写和斜杠 os.path.normpath(path) 规范path字符串形式 os.path.realpath(path) 返回path的真实路径 os.path.relpath(path[, start]) 从start开始计算相对路径 os.path.samefile(path1, path2) 判断目录或文件是否相同 os.path.sameopenfile(fp1, fp2) 判断fp1和fp2是否指向同一文件 os.path.samestat(stat1, stat2) 判断stat tuple stat1和stat2是否指向同一个文件 os.path.split(path) 把路径分割成 dirname 和 basename,返回一个元组 os.path.splitdrive(path) 一般用在 windows 下,返回驱动器名和路径组成的元组 os.path.splitext(path) 分割路径,返回路径名和文件扩展名的元组 os.path.splitunc(path) 把路径分割为加载点与文件 os.path.walk(path, visit, arg) 遍历path,进入每个目录都调用visit函数,visit函数必须有3个参数(arg, dirname, names),dirname表示当前目录的目录名,names代表当前目录下的所有文件名,args则为walk的第三个参数 os.path.supports_unicode_filenames 设置是否支持unicode路径名 实现
在
os.path
相关使用中,我们可以看到有几个关于获取文件时间的函数:os.path.getctime()
:获取文件创建(create)时间os.path.getatime()
:获取文件最近访问(access)时间os.path.getmtime()
:获取文件最近修改(modify)时间
有了这几个函数那么就好办了,以获取文件夹下按照创建时间排序后的文件列表实现如下:
import os dir_name = "./tmp" file_list = os.listdir(dir_name) # 获取按照文件时间创建排序的列表,默认是按时间升序 new_file_list = sorted(file_list, key=lambda file: os.path.getctime(os.path.join(dir_name, file)))
-
C#中使用快速排序按文件创建时间将文件排序的
2020-12-26 09:04:33快速排序类 using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.... -
workspacesort-for-VSCode:VSCode扩展,用于对工作区文件夹进行排序
2021-05-08 11:25:31工作区排序对工作区文件夹进行排序的方式与对文件和内部文件夹进行排序的方式相同,而不是按时间顺序对其进行排序。 有两种方法可以对工作空间文件夹进行排序: 右键单击资源管理器中的文件夹,然后单击“ Sort ... -
MFC遍历指定文件夹下的所有文件并排序(源代码,通过VS2012编译).rar
2020-05-23 11:52:00MFC遍历指定文件夹下的所有文件并排序(源代码,通过VS2012编译).rar #include #include #include using namespace std; -
把文件夹的文件按时间排序
2019-01-04 19:06:02} } /** * 获取目录下所有文件(按时间排序) * */ public static List getFileSort(String path) { List list = getFiles(path, new ArrayList()); if (list.size() > 0) { list.sort(new Comparator() { public int...package com.xiaobu.daily; import java.io.File; import java.util.ArrayList; import java.util.Comparator; import java.util.List; /** * @author xiaobu * @version JDK1.8.0_171 * @date on 2019/1/4 18:44 * @description V1.0 */ public class FileSort { public static void main(String[] args) { String path = "E:\\Project\\hanswx\\target\\hanswx\\upload\\upload"; List<File> list = getFileSort(path); for (File file : list) { System.out.println(file.getName() + " : " + file.lastModified()); } } /** * 获取目录下所有文件(按时间排序) * */ public static List<File> getFileSort(String path) { List<File> list = getFiles(path, new ArrayList<File>()); if (list.size() > 0) { list.sort(new Comparator<File>() { public int compare(File file, File newFile) { return Long.compare(newFile.lastModified(), file.lastModified()); } }); } return list; } /** * * 获取目录下所有文件 * */ public static List<File> getFiles(String realpath, List<File> files) { File realFile = new File(realpath); if (realFile.isDirectory()) { File[] subfiles = realFile.listFiles(); assert subfiles != null; for (File file : subfiles) { if (file.isDirectory()) { getFiles(file.getAbsolutePath(), files); } else { files.add(file); } } } return files; } }
-
C#文件和文件夹 - 按时间、名称排序
2019-06-28 10:04:54对于文件和文件夹有多种排序方式,常用的就是按创建或修改时间、按文件名排序。在 C# 中,按时间和文件名排序都十分简单,用数组提供的排序方法 Array.Sort() 一行代码就可以搞定,当然也可以用常用的排序方法,如...转自https://www.cnblogs.com/soundcode/p/4885723.html
对于文件和文件夹有多种排序方式,常用的就是按创建或修改时间、按文件名排序。在 C# 中,按时间和文件名排序都十分简单,用数组提供的排序方法 Array.Sort() 一行代码就可以搞定,当然也可以用常用的排序方法,如快速排序、冒泡排序等。
文件排序的方法也适用于文件夹,只是传递的变量不同。为了便于使用,将分别列出C#文件排序和文件夹排序四种常用方法,分别为:按名称顺序与倒序排序、按时间顺序与倒序。
一、C#文件排序
1、按名称顺序排列
/// <summary> /// C#按文件名排序(顺序) /// </summary> /// <param name="arrFi">待排序数组</param> private void SortAsFileName(ref FileInfo[] arrFi) { Array.Sort(arrFi, delegate(FileInfo x, FileInfo y) { return x.Name.CompareTo(y.Name); }); } 调用方法: private void SortFiles() { string filePath = "E:\\"; DirectoryInfo di = new DirectoryInfo(filePath); FileInfo[] arrFi = di.GetFiles("*.*"); SortAsFileName(ref arrFi); for (int i = 0; i < arrFi.Length; i++) Response.Write(arrFi[i].Name + ":<br />"); }
上面的代码是对 E 盘根目录下的所有文件排序,代码测试通过,可直接调用。
2、按名称倒序排列
/// <summary> /// C#按文件名排序(倒序) /// </summary> /// <param name="arrFi">待排序数组</param> private void SortAsFileName(ref FileInfo[] arrFi) { Array.Sort(arrFi, delegate(FileInfo x, FileInfo y) { return y.Name.CompareTo(x.Name); }); }
3、按创建时间顺序排列
/// <summary> /// C#按创建时间排序(顺序) /// </summary> /// <param name="arrFi">待排序数组</param> private void SortAsFileCreationTime(ref FileInfo[] arrFi) { Array.Sort(arrFi, delegate(FileInfo x, FileInfo y) { return x.CreationTime.CompareTo(y.CreationTime); }); }
4、按创建时间倒序排列
/// <summary> /// C#按创建时间排序(倒序) /// </summary> /// <param name="arrFi">待排序数组</param> private void SortAsFileCreationTime(ref FileInfo[] arrFi) { Array.Sort(arrFi, delegate(FileInfo x, FileInfo y) { return y.CreationTime.CompareTo(x.CreationTime); }); }
二、C#文件夹排序
1、按文件夹名称顺序排列
/// <summary> /// C#按文件夹名称排序(顺序) /// </summary> /// <param name="dirs">待排序文件夹数组</param> private void SortAsFolderName(ref DirectoryInfo[] dirs) { Array.Sort(dirs, delegate(DirectoryInfo x, DirectoryInfo y) { return x.Name.CompareTo(y.Name); }); } 调用方法: private void FolderSort() { string filePath = "E:\\"; DirectoryInfo di = new DirectoryInfo(filePath); DirectoryInfo[] arrDir = di.GetDirectories(); SortAsFolderName(ref arrDir); for (int i = 0; i < arrDir.Length; i++) Response.Write(arrDir[i].Name + ":<br />"); }
上述代码是对 E 盘根目录下的所有文件夹按名称顺序排列,代码也通过 Visual studio 2010 测试。
2、按文件夹名称倒序排列
/// <summary> /// C#按文件夹名称排序(倒序) /// </summary> /// <param name="dirs">待排序文件夹数组</param> private void SortAsFolderName(ref DirectoryInfo[] dirs) { Array.Sort(dirs, delegate(DirectoryInfo x, DirectoryInfo y) { return y.Name.CompareTo(x.Name); }); }
3、按文件夹创建时间顺序排列
/// <summary> /// C#按文件夹夹创建时间排序(顺序) /// </summary> /// <param name="dirs">待排序文件夹数组</param> private void SortAsFolderCreationTime(ref DirectoryInfo[] dirs) { Array.Sort(dirs, delegate(DirectoryInfo x, DirectoryInfo y) { return x.CreationTime.CompareTo(y.CreationTime); }); }
4、按文件夹创建时间倒序排列
/// <summary> /// C#按文件夹创建时间排序(倒序) /// </summary> /// <param name="dirs">待排序文件夹数组</param> private void SortAsFolderCreationTime(ref DirectoryInfo[] dirs) { Array.Sort(dirs, delegate(DirectoryInfo x, DirectoryInfo y) { return y.CreationTime.CompareTo(x.CreationTime); }); }
如果要按文件或文件夹的最后修改时间排序,方法也是一样的,只需把 CreationTime 改为 LastWriteTime 即可。
-
Linux 上readdir 遍历文件夹按文件名排序
2021-05-10 16:23:36遍历文件夹发送数据,数据文件名按时间排序,使用readdir 遍历时,没有按照文件名排序。2017-10-15-00-00-002017-10-15-01-00-002017-10-15-02-00-00最常见是readdir函数:DIR *dir;struct dirent *ptr;dir = ... -
python查找指定文件夹下所有文件并按修改时间倒序排列的方法
2021-01-20 05:02:51代码如下: import os, glob, time def search_all_files_return_by_time_reversed(path, reverse=True): ...以上这篇python查找指定文件夹下所有文件并按修改时间倒序排列的方法就是小编分享给大家的全部内容 -
上位机MFC实现文件夹的浏览选择(文件夹按修改时间排序)
2020-10-14 18:04:31 在浏览选择文件夹上,微软早已给出 SHBrowseForFolder 方法,但是此方法浏览的文件夹,没有按修改时间排序功能。SHBrowseForFolder 方法会按照名称来进行排序,win7 或者 win10 可能在新式的浏览文件夹下可以... -
Linux查看文件夹大小,并按文件夹创建时间排序
2016-08-16 15:55:32接着需要对时间进行排序,很自然想到管道: 管道符号,是unix一个很强大的功能,符号为一条竖线:"|"。 用法: command 1 | command 2 他的功能是把第一个命令command 1执行的结果作为command2的输入传给... -
Android基于名称、修改时间、大小实现文件夹排序
2020-08-26 23:15:45主要为大家详细介绍了Android基于名称、修改时间、大小实现文件夹排序,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 -
如何让音乐文件夹按下载时间排序
2016-03-21 11:15:121、右键文件夹空白处,“查看”---“详细信息”。2、然后点后面的空白条,如图:3、右键文件夹空白处,...4、然后空白文件处右键,排序方式,就会有修改时间排序,单击修改日期排序,音乐文件就会按时间排好顺序了。 -
Java对文件夹中的文件按修改时间排序
2021-02-27 18:23:09import java.io.File;import java.util.Arrays;importjava.util.Comparator;import java.util.Date;public class Log {public static void main(String[] args) {File file = newFile("F:\\baby");... -
文件夹如何自定义排序
2021-07-30 11:02:36工具栏中选择“数据”下拉“排序”按照你的要求进行选择按哪一行进行选择,升序降序也可以选择,就可以了,希望对你有帮助,望采纳,谢谢!问题二:win7文件夹中不可以自定义调整文件排列顺序吗可以哈,在桌面上单击... -
android 对指定文件夹的文件按时间排序
2019-11-13 14:31:33我们通常将自己的定义好的文件夹,来存放自己的文件,必要的时候我们可以去使用和管理这些文件的,这个时候,我们就要拿到自己存放在本地... * 获取目录下所有文件(按时间排序) * * @param path * @return */ ... -
阿里云OSS根据文件夹路径获取按时间排序的文件列表
2021-01-26 17:27:55因项目需要,这两天在学习阿里云OSS,遇到一个问题我想获取阿里云某个目录下的所有文件,并且按时间排序,网上搜了一下发现相关资料很少,于是花了一点时间根据官方文档用自己的办法简单解决了,这边简单分享一下,... -
python文件夹排序笔记
2022-05-13 23:36:27natsort自然排序: pip install natsort if __name__ == '__main__': from natsort import natsorted x = ['41', '2', '11', '33'] y=natsorted(x) print(x) ...python文件夹时间排序 # 方法二.. -
【C#】文件和文件文件夹按时间、名称排序-顺序与倒序
2020-03-20 11:22:02对于文件和文件夹有多种排序方式,常用的就是按创建或修改时间、按文件名排序。在 C# 中,按时间和文件名排序都十分简单,用数组提供的排序方法 Array.Sort() 一行代码就可以搞定,当然也可以用常用的排序方法,如... -
文件名(文件夹名) 排序: 按字符串排序、 按数字排序 Python
2019-07-25 18:34:53文件夹名 排序 如下图,获取Data路径下的文件夹名,并排序 具体实现如下: ...''' 获取 文件夹名 列表 ''' ...''' 文件夹名 排序 ''' # 文件夹名 按字符串排序 file_list.sort() print(file_list) #... -
C#文件和文件文件夹按时间、名称排序-顺序与倒序
2018-04-26 18:10:41对于文件和文件夹有多种排序方式,常用的就是按创建或修改时间、按文件名排序。在 C# 中,按时间和文件名排序都十分简单,用数组提供的排序方法 Array.Sort() 一行代码就可以搞定,当然也可以用常用的排序方法,如... -
如何对电脑文件夹进行排序
2021-07-26 03:57:59那在电脑中有小伙伴保存的文件比较多以后对于管理文件夹的内容都是很重要的,那我们在电脑账怎么才能更好的管理排序功能管理文件的呢,对于这个问题的疑问今天小编就来跟大家分享一下对于管理电脑文件夹使用排序功能... -
android中对目录下的文件按时间排序
2021-06-04 13:58:26目前有一个项目,需要对目录下的文件进行排序,并按照时间进行排列。1. 通过ImageFilter对xls文件进行过滤ImageFilter类对象的任务就是提供一个accept( )的方法。回调能提高程序的灵活性。FilenameFilter filter = ...
收藏数
97,213
精华内容
38,885