Jas*_*ers 20 python search glob date
我的python脚本中有这行代码.它搜索特定目录中的所有文件以查找*cycle*.log.
for searchedfile in glob.glob("*cycle*.log"):
Run Code Online (Sandbox Code Playgroud)
这非常有效,但是当我将脚本运行到网络位置时,它不会按顺序搜索它们,而是随机搜索.
有没有办法强制代码按日期顺序搜索?
这个问题已经被问到了php,但我不确定这些差异.
谢谢
jfs*_*jfs 60
按日期排序文件:
import glob
import os
files = glob.glob("*cycle*.log")
files.sort(key=os.path.getmtime)
print("\n".join(files))
Run Code Online (Sandbox Code Playgroud)
另请参见排序方式.
本质上与@jfs 相同,但在一行中使用 sorted
import os,glob
searchedfiles = sorted(glob.glob("*cycle*.log"), key=os.path.getmtime)
Run Code Online (Sandbox Code Playgroud)
出色地。答案是否定的。glob其用途os.listdir由以下描述:
"返回包含路径给定目录中条目名称的列表。该列表是任意顺序的。它不包括特殊条目 '.' 和“..”,即使它们存在于目录中。 ”
所以你真的很幸运你能把它解决掉。你需要自己排序。
这对我有用:
import glob
import os
import time
searchedfile = glob.glob("*.cpp")
files = sorted( searchedfile, key = lambda file: os.path.getctime(file))
for file in files:
print("{} - {}".format(file, time.ctime(os.path.getctime(file))) )
Run Code Online (Sandbox Code Playgroud)
另请注意,这使用创建时间,如果要使用修改时间,则使用的函数必须是getmtime.
| 归档时间: |
|
| 查看次数: |
25758 次 |
| 最近记录: |