问题标签 [fnmatch]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
82 浏览

python - Python glob 没有找到任何结果

我正在尝试从文本文件中提取一些数据。这些是代码行:

我一直收到 [] ,所以没有结果。有人可以帮我理解为什么吗?谢谢

0 投票
1 回答
160 浏览

python - 如何使用 fnmatch 检查字符串特定位置的模式?

我有一个文件夹(称为它F),其中包含名称格式为 yyyy.doy 的子文件夹(例如 2020.001 表示 2020 年 1 月 1 日)。每个子文件夹中都有多个仪器的文件。每个文件在第 16、17 和 18 个字符中指定它用于哪个仪器(来自仪器 1 的文件的文件为 xxxxxxxxxxxxxxx001xxxxxx)。我正在尝试使用 python 脚本为每个仪器创建文件名和路径列表。

如果我只查看我可以使用的子文件夹之一:

对于第一个乐器。但是,我想搜索所有子文件夹。根据我在网上找到的内容,我无法使用 glob 的递归子文件夹搜索来执行此操作,因为我的 python 版本是 2.7。我想做的是使用fnmatch下面的格式(从另一个堆栈溢出页面复制),但专门搜索第 16、17 和 18 个字符。

这段代码的最后一部分(files, [16:19]=='.001')似乎在语法上失败了。谁能帮我重新格式化上面的代码或建议一种更好的方法来创建我的列表?请记住,列表需要包含每个文件的完整文件路径和名称,但单独的仪器。

0 投票
1 回答
34 浏览

python - 我的第一个重命名文件名项目的问题

我最近开始使用 python,因为我想在地球物理学和数据处理方面做得更好。

我从一个小项目开始重命名我的银行帐户的每月提取文件。他们有一个愚蠢的日期和名字顺序,我只想按日期排序。

其中一个文件名是AZG149882014_001_20170129

最后 8 个符号是日期,但顺序非常不直观,我的 windows 系统无法正确排序。

到目前为止,文件名更改为20170129,但没有更改日期的顺序。

它也确实显示了yy的年份。我有点失落。我知道我必须将它也放入替换功能中,但它不适用于我尝试的方式。

你能帮帮我吗?

0 投票
1 回答
22 浏览

python - Python: Display all options of a Unix wildcarded string with square brackets (reverse glob/fnmatch)

I have a large dataset with rows of wildcarded strings e.g.

I would like an efficient way to expand these out into unique rows for each combination, e.g.

What is the most efficient way to do this in Python 3.7?

0 投票
2 回答
47 浏览

python - Python 2.7 fnmatch 不编辑文本

我有一个包含 600k+ 字符串标签记录的文件,我正在尝试使用更新光标进行编辑,同时使用字符串模块和 fnmatch 来查找要编辑的模式。使用 fnmatch 的部分成功打印了匹配的记录,但没有更改/解析出匹配的模式。

没有错误,记录也没有变化。我的语法缺少什么?

(另外 - 附带问题,最后一个打印第 4 行语句仅打印文件的第一条记录。)

结果样本与原文没有变化 1000STR92SE 8000STR37NW 7000STR35SW 8000STR44 1000STR88SE 1000STR74SE

但结果需要是 92SE 37NW 35SW 44 88SE 74SE

0 投票
1 回答
126 浏览

python - fnmatch.fnmatch 使用模式排除子目录

我有这样的目录结构

我只想获取 rootFolder 中的文件,而不是 subDirectory(some.jar 和 another.jar)。

我也尝试了以下模式,但我试图在没有指定模式中子目录的名称的情况下这样做。请参阅此处指定目录名称。

我也使用了像'*.jar'这样的模式,但它也包括子目录文件。

有什么建议么?

背景

我正在尝试编写一个用于通过 az cli 上传的通用脚本;我正在使用的函数是upload-batch,它在内部使用 fnmatch,我只能控制使用--pattern标志传递的模式。见这里。

正在使用以下命令:

0 投票
1 回答
19 浏览

python - 如何抑制 Python 中 fnmatch 产生的不必要输出?

我想检查目录中是否存在具有特定名称的文件。该目录包含 3 个文件:

我正在使用的代码:

如果我像这样运行上面的代码:

python check_files.py 20210401

我得到这个输出:

所需的输出将只是第一行:

如何抑制输出的其余部分(即与模式不匹配的文件名?)

0 投票
0 回答
15 浏览

python - 通过脚本和要素类名称处理 100 个要素类到每个输出的末尾

注意:工作限制我必须使用 python 2.7(我知道 - eyeroll)和标准模块。我还在学习python。

我在地理数据库中有大约 100 个平铺的“感兴趣区域”多边形,需要通过我的脚本进行处理。我的脚本已经在单个图块上进行了测试,效果很好。我需要建议如何迭代这个过程,这样我就不必一次运行一个。(我不想一次迭代 ALL 100 以防万一失败 - 我只想制作一个列表或一次运行大约 10-15 个的东西)。我还需要将我正在处理的切片名称添加到我输出的每个要素类中。

到目前为止,我已经尝试使用 fnmatch.fnmatch 哪些错误,因为它不喜欢列表。我将语法更改为没有错误但没有打印任何内容的括号。

我想一旦命名部分完成,在 for 循环中运行该过程应该可以工作。请帮助建议我做错了什么或者是否有更好的方法 - 谢谢!

这只是整个过程的一个片段:

0 投票
1 回答
236 浏览

git - .gitignore 文件中的单 /* 和双 /** 尾随星号有什么区别?

.gitignore考虑文件中的以下两种模式

模式格式规范指出:

星号*匹配除斜线之外的任何内容。[...]

尾随/**匹配内部的所有内容。例如,abc/**匹配目录中的所有文件abc,相对于 .gitignore 文件的位置,具有无限深度。

在斜线之后直接在模式末尾使用时,这对我来说听起来是一样的。我确实测试了一些案例 - 有和没有下面的子目录foo以及各种否定模式 - 并且没有观察到任何差异。

/**有没有什么情况会选择/*呢?


起初,我希望看到一个具有如下模式的用例,但没有,因为这两种模式都会忽略内部的所有内容,并且规范还指出“[...] 无法重新包含如果该文件的父目录被排除在外,则该文件 [...]"

0 投票
2 回答
56 浏览

c - fnmatches 无法匹配“?” 零发生

在集成到我的代码之前,我正在为 fnmatch 编写一个基本测试。这是测试:

我将其编译为test并运行以下命令:

扩展输出:

实际输出:

问题是'?元字符无法匹配 0 个字符(恰好需要一个)。

有谁知道它为什么会这样以及如何解决它?

先感谢您。