首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将字符串插入javascript文件的特定部分

将字符串插入javascript文件的特定部分
EN

Stack Overflow用户
提问于 2017-11-18 00:34:38
回答 1查看 31关注 0票数 0

我需要通过使用python插入一个字符串来更改javascript文件的一个特定部分。这里是javascript文件的一个小示例。

代码语言:javascript
复制
//----------------------------------------Peter Lighting Priorities-----------------------------------------------------
/*

// Lighting low prios for everything else//
peter_RenderBoy_lighting_lowPrios = {
    "fromProductionGroups" : ["peter_RenderBoy_lighting"],
    "matchFilters" : [
        {"user": "", "name": ""}     

    ],
    "toProductionGroup" : "",
    "priority" : 3

};

moveAndPrioritise(peter_RenderBoy_lighting_lowPrios);

// lighting normal and Approved LFL shots (emailed at 8pm) //
peter_RenderBoy_lighting_normalPrios = {
    "fromProductionGroups" : ["peter_RenderBoy_lighting"],
    "matchFilters" : [
        {"user": "", "name": ""}     

    ],
    "toProductionGroup" : "",
    "priority" : 2

};

moveAndPrioritise(peter_RenderBoy_lighting_normalPrios);

下面是同样的javascript示例,它以粗体显示字符串"INSERT_STRING_HERE“,需要插入该字符串:

代码语言:javascript
复制
//----------------------------------------Peter Lighting Priorities-----------------------------------------------------
/*

// Lighting low prios for everything else//
peter_RenderBoy_lighting_lowPrios = {
    "fromProductionGroups" : ["peter_RenderBoy_lighting"],
    "matchFilters" : [
        {"user": "", "name": ""}     

    ],
    "toProductionGroup" : "",
    "priority" : 3

};

moveAndPrioritise(peter_RenderBoy_lighting_lowPrios);

// lighting normal and Approved LFL shots (emailed at 8pm) //
peter_RenderBoy_lighting_normalPrios = {
    "fromProductionGroups" : ["peter_RenderBoy_lighting"],
    "matchFilters" : [
        {"user": "", "name": "***INSERT_STRING_HERE***"}     

    ],
    "toProductionGroup" : "",
    "priority" : 2

};

moveAndPrioritise(peter_RenderBoy_lighting_normalPrios);

到目前为止,这只是我的尝试,这仅仅表明我已经导入了regex,但是由于放弃了我的努力,并且试图遍历javascript文件,但是不知道如何继续实现我所需要的:

代码语言:javascript
复制
import re
javascript_file = open('/depts/wranglers/frankie/farmtools/priorities/autoHook.js')
for line in javascript_file:
    if '// lighting normal and Approved LFL shots (emailed at 8pm) //' in line:
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-11-18 00:49:34

当您看到注释行时,设置一个变量。然后,当您看到要替换的模式的行时,检查变量是否已设置,并执行替换操作。

代码语言:javascript
复制
with open('/depts/wranglers/frankie/farmtools/priorities/autoHook.js') as javascript_file, \
     open('/depts/wranglers/frankie/farmtools/priorities/autoHook.new.js') as new_file
    section_found = False
    for line in javascript_file:
        if '// lighting normal and Approved LFL shots (emailed at 8pm) //' in line:
            section_found = True
        elif '{"user": "", "name": ""}' and section_found:
            line = line.replace('"name": ""', '"name": "INSERT_STRING_HERE"')
            section_found = False
        new_file.write(line + "\n")
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47361256

复制
相关文章

相似问题

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