首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将shell脚本转换为python脚本?

如何将shell脚本转换为python脚本?
EN

Stack Overflow用户
提问于 2018-04-23 13:31:55
回答 1查看 3.6K关注 0票数 0

我有一个很长的shell脚本,在那里我试图转换成python脚本,但是我被一行击中了。

代码语言:javascript
复制
cat $projects_list | while read line
do     
    list=`find . -name "*.json" -exec grep -l "project_name.*\"$line\"" {} \; | grep -vw project`

实际上我需要的是

  • 解析所有文件夹期望从当前文件夹中获得“项目”,并获取具有.json扩展名的文件。
  • 解析每个json文件并搜索其键为"project_name“的值。
  • 存储json文件路径,其值在json文件中找到。

Project_list包含要与键“项目名称”匹配的值列表。

下面是json格式

代码语言:javascript
复制
{
"artifactory_space_MiB": 1,
"enovia": {
    "name": "",
    "product": "",
    "release": "",
    "release_notes_url": "http://example.com/ld+Release"
},
"goldmine": {
    "build_type_list": [
        "product",
        "prodspec"
    ]
},
"goldmine_monitor_flag": false,
"image_list": [
    {
        "image": "framework-image",
        "machine": "qemux86-64",
        "name": "qemu"
    }
],
"item_status": "inactive",
"jira": {
    "key": "cdtest",
    "version": "1.0"
},
"product_name": "cdtest",
"product_release": "1.0",
"project_name": "cdtest-1.0",
"testlink": {
    "proj_name": "__TESTLINK_PROJ_NAME__"
},
"warios_repo_list": [],
"zone_tracking": {
    "inactivation": {
        "deletion_time": "2018-02-16_1516",
        "inactivation_time": "2018-02-16_1516"
    },
    "previous_values": {
        "artifactory_space_MiB": 1
    }
}


}   

我使用python尝试了下面的代码。

代码语言:javascript
复制
with open(projects_list, 'r') as f:
for line in f:
    # Ignore "project" files... only interested in downstream product files.
    json_list = subprocess.check_output(["find . -name '*.json' " , "-exec grep -l 'project_name.*\"" + line + "\"' {} \; " , "| grep -vw project"], shell=True)
EN

回答 1

Stack Overflow用户

发布于 2018-04-23 13:56:25

如果您只是试图从Python脚本中执行从shell脚本执行的所有Unix命令,则没有任何意义。您甚至不能在Windows中使用相同的python脚本,因为它只是执行Unix命令。当您计划将shell脚本转换为Python脚本时,首先从shell脚本所做的事情生成一个算法,并在Python中实现该算法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49982459

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档