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