鱼C论坛

 找回密码
 立即注册
查看: 560|回复: 3

作业题

[复制链接]
发表于 2024-4-4 17:55:37 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
    def search(self, pattern):
        try:
            for entry in self.path.glob(f"**/{pattern}"):
                print(entry.relative_to(self.path))
        except Exception as e:
            print(f"搜索文件时出错: {e}")

for entry in self.path.glob(f"**/{pattern}")这里的f"**/{pattern}"是不是有错误?应该是f"**/*{pattern}"
@FishC
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-4-4 17:56:28 | 显示全部楼层
您的猜测是正确的,`f"**/{pattern}"` 这个写法是有错误的。这里应该使用 `f"**/*{pattern}"` 的形式来指定通配符。

简单来说,`**` 表示匹配任意多级目录,而 `*` 表示匹配任意字符。在这个例子中,我们想要搜索包含指定模式的文件,所以需要使用 `*` 来匹配文件名中的任意字符。

所以,正确的代码应该是这样的:
def search(self, pattern):
    try:
        for entry in self.path.glob(f"**/*{pattern}"):
            print(entry.relative_to(self.path))
    except Exception as e:
        print(f"搜索文件时出错: {e}")

这样就可以正确地搜索到包含指定模式的文件了。希望对您有帮助!如果还有其他问题,请随时提问。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-4-4 19:40:23 | 显示全部楼层
glob('**/*')
这是什么意思?
@FishC
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-4-4 19:42:08 | 显示全部楼层
亦又 发表于 2024-04-04 19:40
glob('**/*')
这是什么意思?
@FishC


这是一个Python中的glob模块函数,用于获取文件路径。具体来说:

`glob('**/*')`表示匹配当前目录及其子目录下的所有文件路径。

其中,"**"代表匹配所有子目录,"*"代表匹配任意文件名称。这段代码的作用是返回一个列表,其中包含当前目录及其子目录下所有文件的路径。

以下是一个简单的示例代码:
import glob

file_paths = glob.glob('**/*')
print(file_paths)

除了上面的代码之外,你还可以通过传递其他参数来对文件进行更精确的筛选,例如指定文件类型、文件名等。希望这个解释对你有帮助!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-23 10:07

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表