2017-11-18 14 views
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」太字のを見せている。

//----------------------------------------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); 

この今のところ私の試み、単なるショーでした私は正規表現をインポートしているが、それを使って私の努力を断念し、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: 
+0

Pythonスクリプトはどの文字列を挿入するべきかを知っていますか? – Barmar

答えて

1

コメント行が表示されたら、変数を設定します。次に、置き換えたいパターンの行が表示されたら、変数が設定されているかどうかを確認し、置き換えます。

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") 
関連する問題