Python 3.x 如何搜索jupyter笔记本python文件?

Python 3.x 如何搜索jupyter笔记本python文件?,python-3.x,jupyter-notebook,Python 3.x,Jupyter Notebook,我有很多jupyter python文件(ipnyb),如何在它们上面轻松搜索python源代码,例如从命令行或jupyter笔记本客户端本身?我正在寻找专门用于jupter笔记本电脑的产品,而不是普通的find/grep,因为嵌入式数据“data”:{ “image/png”}要在笔记本中搜索,请在命令模式下使用“查找+替换”快捷方式F。例如,在Kaggle上,Esc为命令模式,然后F触发查找 或者在Mac上用Cmd+Shift+p打开命令面板,在Linux/Win上用Ctrl+Shift+p

我有很多jupyter python文件(ipnyb),如何在它们上面轻松搜索python源代码,例如从命令行或jupyter笔记本客户端本身?我正在寻找专门用于jupter笔记本电脑的产品,而不是普通的find/grep,因为嵌入式数据“data”:{
“image/png”}

要在笔记本中搜索,请在命令模式下使用“查找+替换”快捷方式
F
。例如,在Kaggle上,
Esc
为命令模式,然后
F
触发查找

或者在Mac上用
Cmd+Shift+p
打开命令面板,在Linux/Win上用
Ctrl+Shift+p
打开命令面板,然后在其中键入“查找”

至于在Jupyter中同时搜索多个笔记本,我没有经验。我建议研究JupyterLabs及其扩展,因为它似乎更适合多个笔记本

在CLI中,普通grep可以工作

grep wordtosearch *.ipynb
用于递归

grep -r --include \*.ipynb wordtosearch mytopdirectory

此命令允许您执行递归搜索(通过根目录中的所有文件夹)

有关此命令的说明,请查看此链接=>

find.-name'*ipynb'| xargs grep您的搜索

我也想这么做!我找到了一个非常好的解决方案,你可以在笔记本电脑中完成。但是,如果链接中断,这里提供了代码:


pattern = '../**/*.ipynb'
query = 'text you want to find'

for filepath in glob.iglob(pattern, recursive=True):
    with open(filepath) as file:
        s = file.read()
        if (s.find(query) > -1):
            print(filepath)

这将打印包含搜索字符串的所有文件。一个很好的增强功能是同时打印字符串出现的上下文。

是,对,但笔记本文件通常包含嵌入的附加数据,如“数据”部分中的图像:{“image/png”}…是,对,但笔记本文件通常包含嵌入的附加数据,如“数据”部分中的图像:{“image/png”}。您需要什么?搜索这些附加数据?如果您需要查找特殊字符串,为什么不搜索“
”mystring“
而不是
'mystring'
,我的意思是添加引号,这样你就不会在嵌入的数据中得到随机关键字。我认为有一个jupyert专用工具可以做到这一点。目前我正在使用jupyter nbconvert将ipynb转换为python文件,然后搜索它们。ipynb的元数据是个问题。您好,不久前我自己找到了一个解决方案。这就是我想要的:但主持人删除了我的答案。:-)