Bash到Python的转换

Bash到Python的转换,python,bash,shell,Python,Bash,Shell,希望将下面的shell代码转换为python $line = ddtest-7.0 find . -name "*.json" -exec grep -l "project_name.*\"$line\"" {} \; | grep -vw project 此代码将执行以下功能: 1) 。它将搜索当前目录(包括子目录)中的所有json文件 2) 。它将打开每个json文件,并搜索“project_name.*\“$line\”(“projectname”:“ddtest-7.0”),如果该文件

希望将下面的shell代码转换为python

$line = ddtest-7.0
find . -name "*.json" -exec grep -l "project_name.*\"$line\"" {} \; | grep -vw project
此代码将执行以下功能:

1) 。它将搜索当前目录(包括子目录)中的所有json文件

2) 。它将打开每个json文件,并搜索“project_name.*\“$line\”(“projectname”:“ddtest-7.0”),如果该文件中存在该文件。它将存储json文件名和路径

3) 。它将从项目目录(grep-vw project)中删除json文件

输出:

./product/ddtest/7.0/product-info.json

是否有人可以帮助将其转换为python(版本2.7)。

从python 3.5开始,您可以执行以下操作:

import glob
list(glob.iglob('**/project_name.*/ddtest-7.0/**/*.json', recursive=True))

请先尝试一下,让我们知道哪个部分似乎不起作用。显示您迄今为止尝试和研究的内容。顺便说一下,您的第一行
bash
无效。不要在作业左侧使用
$
一元运算符,并且
=
周围不允许有空格。浏览以下内容:谢谢。但是,我正在使用Python2.7,那么您应该切换,但是您可以使用
os.walk
手动执行类似的筛选。我对shell和python不太熟悉。您能在这里提到代码吗?类似这样的内容:
[filtered for filtered in[(条目[0],[f for f for f in条目[2]if.json'in f])for os.walk(os.getcwd()中的条目如果条目[0]]中的“ddtest-7.0”被过滤[1]]