草庐IT

globbing

全部标签

python glob 只返回第一个结果

我真的被这个难住了。我有一个简单的python包装器,看起来像这样:importglobforfoundinglob.glob(filename):ifnotos.path.isdir(found):my_module.do_stuff(found)其中filename已从sys.argv中读取。当我在交互式shell或helloworld脚本中尝试glob时,我得到了(在本例中为5个)文件的完整列表。但是,当我在这种情况下使用它时,我只会得到第一个(按字母顺序)。我已经通过在数组中捕获glob.glob的结果进行了检查,果然,它只有一个len()为1,即使文件名只是'*'。我可能会做

sql - 为什么我们需要 SQLite 中的 GLOB 子句?

我是一名Android开发人员,最近在SQLite中遇到了GLOB子句。鉴于LIKE已经存在,我不明白为什么我们需要GLOB。两个子句都有通配符来表示单个和多个字符。唯一的区别是GLOB区分大小写。但这就是全部吗?是否有任何疑问LIKE是一个错误或不合适的选择?是否存在我们绝对必须使用GLOBE与LIKE或相反的情况? 最佳答案 区分大小写本身就很有用,因为这对普通索引更有效。此外,GLOB支持字符类:Globbingrules:*Matchesanysequenceofzeroormorecharacters.?Matchesex

c# - .NET 中的 glob 模式匹配

.NET中是否有内置机制来匹配正则表达式以外的模式?我想使用UNIX样式(glob)通配符(*=任意数量的任意字符)进行匹配。我想将其用于面向最终用户的控件。我担心允许所有RegEx功能会非常困惑。 最佳答案 我喜欢我的代码更加语义化,所以我写了这个扩展方法:usingSystem.Text.RegularExpressions;namespaceWhatever{publicstaticclassStringExtensions{//////Comparesthestringagainstagivenpattern.//////T

go - 将参数传递给 GoLang 中的 filepath.Glob 函数

几天来我一直在尝试使用GoLang,我正在尝试制作与特定目录中的特定文件匹配的简单程序。但是我不知道如何将变量传递给filepath.Glob函数。我的尝试:funcReadDirectory(srcDirstring){files,_:=filepath.Glob("[a-Z0-9]")fmt.Println(files)}这一个很好地打印了我运行程序的当前目录。但是我正在寻找一种方法来列出传递给它的srcDir变量,这样我就可以从任何目录中找到文件。 最佳答案 只需在模式前加上目录:files,_:=filepath.Glob(

git:如何以递归方式将所有文件添加到与 glob 模式匹配的目录子树中?

我在/xxx/documentation及其已被Git跟踪的子目录中有几个.screen文件。修改了许多屏幕文件后,我运行gitadddocumentation/\\*.screen——如git-add文档中的第一个示例所示—暂存这些文件,但命令失败:fatal:pathspec'documentation/\*.screen'didnotmatchanyfiles是我的命令不好,还是git有错误? 最佳答案 这是文档中的错误。引用星号$gitadddocumentation/\*.screen或$gitadd'documentat

linux - 在 for 循环中排除具有特定前缀的文件名(globbing)

这可能很简单,但我想不通。在for循环中,我想排除某些前缀为zz的文件(例如zz131232.JPG),但我不知道如何排除这些文件。foriin*.JPG;do#dosomethingdone如何修改“for规则”以排除前缀为zz的文件? 最佳答案 有点像foriin*.JPG;do[[$i!="zz"*]]&&echo"$i"done或跳过它们:foriin*.JPG;do[[$i=="zz"*]]&&continue#processtheotherfilesheredone 关于li

linux - 不匹配任何东西的 Glob 会扩展到自身,而不是什么都没有

我想遍历特殊类型的文件夹中的文件(如.test):所以我写了一些脚本名称for_loop:forfin*.testdoecho'Thisisf:'${f}done在(chmod+xfor_loop)之后,我可以用./for_loop启动它。如果有.test文件,一切都很好,但是如果文件夹中没有匹配*.test的文件,for循环仍然是执行一次。在这种情况下,输出如下所示:Thisisf:*.test但我想,如果文件夹中没有匹配glob模式的文件,就不会有输出。为什么不是这样? 最佳答案 这是默认行为。要摆脱它,启用nullglob:s

linux - 如何排除与 "grep -R"中的 glob 模式匹配的多个目录?

我在当前目录中有一些名称类似于“mm-yyyy”(01-2014)的目录。我想grep目录中名称为“2013”​​的文件。如何排除名称中没有“2013”​​的目录?我尝试了以下但没有用:grephill*-R--exclude-dir=*201[0-2]它仍然遍历所有子目录来执行grep。 最佳答案 grep-r--exclude-dir={dir1,dir2,dir3}string_to_search_for* 关于linux-如何排除与"grep-R"中的glob模式匹配的多个目录?

php - 使用 PHP glob 获取文件夹 - 无限深度

我有这个工作功能可以找到文件夹并创建一个数组。functiondua_get_files($path){foreach(glob($path."/*",GLOB_ONLYDIR)as$filename){$dir_paths[]=$filename;}return$dir_paths;}此函数只能查找当前位置的目录。我想在子文件夹及其子文件夹等中找到目录路径。数组应该仍然是目录路径的平面列表。输出数组的示例$dir_path[0]='path/folder1';$dir_path[1]='path/folder1/child_folder1';$dir_path[2]='path/fo

php - glob() — 按名称排序

这个问题在这里已经有了答案:Sortinganarrayofdirectoryfilenamesindescendingnaturalorder(3个回答)关闭2年前。如何按文件名反转排序?目前它按字母/数字顺序显示所有文本文件,但我试图让它按降序显示。现在,我有...我是PHP的新手,但我尝试使用添加了数组的usort,但这只会导致它只显示1个文本文件,所以要么它不起作用,要么我只是编码错误。 最佳答案 你可以使用array_reverse:foreach(array_reverse(glob("*.txt"))as$filena