我正在尝试使用 python 2.7 在目录中查找一系列特定文件。我的目录中有许多文件,其名称类似于 AB_yyyyjjjhhmmss_001.txt,其中 y 是年份,j 是儒略日期,h 是小时等等。每个时间对应于获取某些数据的时间,而不一定是创建或操作文件的时间。我喜欢选择一个时间范围,比如从 2013305010000 到 2013306123000 并处理它们。
我有类似的东西,
import glob
def get_time (start_time = None, end_time = None):
if start_time == None:
start_time = input("start: ")
if end_time == None:
end_time = input("end: ")
duration = str(start_time) + "-" + str(end_time)
listing = glob.glob("*_[" + duration + "]_*")
Run Code Online (Sandbox Code Playgroud)
我了解到这[ ]只是为了匹配单个数字。所以我在这里完全偏离了轨道。我也尝试过{start_time..end_time}组合,但没有效果。
我有一些文件结构,其中包含具有不同深度的构建文件夹的项目。我正在尝试使用 zsh(扩展)通配来排除构建文件夹中的文件。
我尝试使用以下命令和许多其他变体:
grep "string" (^build/)#
我将其解读为“任何不匹配build0 次或多次的文件夹”。
但是我仍然从文件夹中获得结果,例如:
./ProjectA/build/.../file.mi
./ProjectB/package/build/.../file2.mi
有什么建议么?
我想找到具有多个扩展名的某些模式的文件。前任:-
some/path/**.{json,jsonc}
Run Code Online (Sandbox Code Playgroud)
但 Rust glob函数不适用于这些类型的模式。这是我的解决方法:-
some/path/**.{json,jsonc}
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用此方法删除多个文件:
map(os.remove, glob.glob("*.pdf"))
Run Code Online (Sandbox Code Playgroud)
我收到带有 pdf 扩展名的文件列表,但这不会删除任何文件。
我的解决方案是用 包裹这张地图list()。
还有其他不需要使用列表或其他东西的解决方案吗?
如何对包含数字的字符串数组进行排序.
例如,我使用了glob()函数来获取文件名列表.
默认情况下,数组按升序输出文件,但单独读取每个数字字符而不是整数.
"C://path/to/file/file.tpl"
"C://path/to/file/file1.tpl"
"C://path/to/file/file11.tpl"
"C://path/to/file/file12.tpl"
....
....
"C://path/to/file/file2.tpl"
Run Code Online (Sandbox Code Playgroud)
"C://path/to/file/file.tpl"
"C://path/to/file/file1.tpl"
"C://path/to/file/file2.tpl"
...
...
"C://path/to/file/file11.tpl"
"C://path/to/file/file12.tpl"
Run Code Online (Sandbox Code Playgroud)
是否有PHP函数执行此操作?
非常感谢
Golang Glob 的行为并不符合我的预期。假设我有一个目录“foo”,其结构如下:
foo
|-- 1.txt
|-- 2.csv
|-- 3.json
|-- bar
`-- baz
Run Code Online (Sandbox Code Playgroud)
我想做一个仅获取 foo 中的目录“bar”和“baz”的 glob。所以我尝试这个:
path = "foo/*/"
matches, err := filepath.Glob(path)
if err != nil {
log.Fatal(err)
}
fmt.Println(matches)
Run Code Online (Sandbox Code Playgroud)
这不会产生任何匹配项:
[]
Run Code Online (Sandbox Code Playgroud)
如果我删除最后一个尾部斜杠并将路径更改为"foo/*",我会同时得到文件和目录,这不是我想要的结果:
[foo/1.txt foo/2.csv foo/3.json foo/bar foo/baz]
Run Code Online (Sandbox Code Playgroud)
我希望如果存在尾部斜杠,Glob 将仅返回与 glob 模式匹配的目录。我看到GitHub 上注意到了同样的问题,但找不到任何解决方法 - 这听起来要么像是一个错误,要么是一个记录不充分的功能,要么只是缺乏预期的功能。
我检查了 Go 文档中 Glob 使用的 Match 函数,它没有提到任何关于尾部斜杠的内容。
所以基本上:是否有一种解决方法,以便我可以使用 Glob 仅全局访问某个路径下的目录,或者我是否需要使用另一种方法来完成此任务?