使用python 3保留文本替换中的空格

时间:2014-11-18 03:50:09

标签: python regex replace text-files

我正在尝试自动替换文件中的源代码文本行,并翻译相应的字符串部分。 为此我创建了一个工作流来获取两个数据结构,这两个数据结构具有特定行的所有相应文本。但是,由于我的源代码文件是在咖啡脚本中(白色空间很重要!),下面的代码无法检测行中的字符串(因为代码部分的开头有可变的空白)。有没有办法使用一些通配符或一种方法来保存白色空间,并进行替换:

# -*- coding: utf-8 -*-    
import fileinput

# List of strings to be replaced in the source
sourceList = ['name: "My House",','name: "His House",']
# List of target translated strings matching index values with the sourceList
targetList = ['name: "私の家",','name: "彼の家",']

# Loops over sourceList and performs in-place replacement with the value at corresponding index in targetList
for i, val in enumerate(sourceList):
    for line in fileinput.input("seed-staging.coffee", inplace=True):
        print(line.replace(sourceList[i], targetList[i]), end = '') # End part is essential to not get default newline from print 

目的是找到该行,将其替换为保留左侧缩进级别的空白区域。

更新:为Coffee Script添加源和所需的输出样本。

exports.locations = [
    {
        "name": "My House",
         ...
    }

应转向:

exports.locations = [
    {
        "name": "私の家",
         ...
    }

关键是要保留空白区域。

0 个答案:

没有答案