使用第一个文件中的搜索短语在两个文件之间进行搜索和替换:Python

嘟嘟

档案1:

$def String_to_be_searched (String to be replaced with)

档案2:

..... { word { ${String to be searched} } # each line in File 2 is in this format
..... { word { ${String} } # This line need not be replaced. Only lines which matches the string in file 1 needs to be replaced

一旦文件2的每一行都包含“要搜索的字符串”,我想用文件1中的“要替换的字符串”替换文件2中的“要搜索的字符串”。

我的代码:

def labelVal(line):
    return line[line.find('(') + 1: line.rfind(')')]

for line in File 1:
    Label = {}
    line = line.strip()
    if line.startswith('$def'):
        labelKeys = line .split()[1]
        #print labelKeys
        labelValues = labelVal(line)
        #print labelValues
        Label[labelKeys] = labelValues
        #print Label
outfile = open('path to file','w')

for line in File 2:
    match = re.findall(r'\$\{(\w+)\}', line) # Here I am searching for the pattern ${String to be searched}
    if match:
        print match.group()

到目前为止的输出:

我将Label作为字典,其中包含要搜索的字符串和要替换的字符串。我首先尝试匹配两个文件中的字符串,然后必须替换。但是第二部分没有给我任何匹配...我使用比较两个文件并在python中找到匹配的单词作为参考。

第二次世界大战

对于“第二部分”-无需使用正则表达式来替换中的文本File 2只需读取整个文件并使用str方法即可replace

with open('tobefixed.txt') as f:
    data = f.read()

for search_txt, replacement_txt in Label.iteritems():
    data = data.replace(search_txt, replacement_txt)

with open('fixed.txt', 'w') as f:
    f.write(data)

如果要使用该re模块,请使用re.sub

for search_txt, replacement_txt in Label.iteritems():
    data = re.sub(search_txt, replacement_txt, data)
print data

对于“第一部分”,您需要Label在循环的每次迭代中创建一个新的字典for您应该只创建一个包含所有字典的字典defs

with open('defs.txt') as f:
    Label = {}
    for line in f:
        line = line.strip()
        if line.startswith('$def'):
            labelKeys = line .split()[1]
            labelValues = labelVal(line)
            Label[labelKeys] = labelValues

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Solr-使用两个或多个单词的搜索仅使用第一个单词进行评分

来自分类Dev

在Python中的两个文件之间搜索

来自分类Dev

搜索并找到一个短语并获得它之前和之后的两个单词

来自分类Dev

使用awk提取文本文件中一列中两个字符串之间的第一个和最后一个数字,并区别那些数字?

来自分类Dev

从第一个文件中搜索第二个文件,然后输出到python中的第三个文件

来自分类Dev

从未在python中执行的文件读取的两个代码块中的第一个

来自分类Dev

在目录中搜索在两个日期之间创建的文件

来自分类Dev

如何转到文件中的第一个搜索结果?

来自分类Dev

如何在一个文件中搜索另一个文件中的单词并显示一行中的第一个匹配单词

来自分类Dev

如何使用Selenium和Python提取第一个搜索结果的href属性

来自分类Dev

使用 google 和 python 搜索并存储第一个链接?

来自分类Dev

使用python编程在csv文件中搜索两个日期到两次之间的记录

来自分类Dev

比较两个文本文件文件并返回第一个差异所在的行和列

来自分类Dev

Powershell-搜索和替换-第一个匹配的文本字符串出现-保存输出文件

来自分类Dev

按行比较两个文件,并从第一个文件中删除重复项

来自分类Dev

比较两个文件并在第一个文件中打印匹配项,并添加额外的列

来自分类Dev

awk比较两个文件并在文件1中打印第一个字段

来自分类Dev

比较两个文件,并在第一个文件中打印公共字段及其对应的行号

来自分类Dev

如何使用Bash在两个时间戳之间搜索文件中的行

来自分类Dev

如何使用Bash在两个时间戳之间搜索文件中的行

来自分类Dev

使用python搜索一个文件的内容和第二个文件的内容

来自分类Dev

在文本文件中搜索“ OK”的第一个匹配项,并在同一行中提取前两个字符以将其另存为UFT / VB脚本中的变量

来自分类Dev

替换文件 Python 2.7 中的第一个字符

来自分类Dev

如何一次搜索和替换许多HTML文件中的短语?(使用终端)

来自分类Dev

一个大文本文件中的多个搜索和替换操作

来自分类Dev

使用Bash搜索csv文件中的列,在txt文件中找到它,然后如果找到,则将第1列和第2列从第一个csv输出到第二个csv

来自分类Dev

搜索一对中的两个元素并替换其中一个元素

来自分类Dev

Teradata - 两个表之间的连接 - 保留第一个表中的值

来自分类Dev

Python:选择目录中的第一个文件

Related 相关文章

  1. 1

    Solr-使用两个或多个单词的搜索仅使用第一个单词进行评分

  2. 2

    在Python中的两个文件之间搜索

  3. 3

    搜索并找到一个短语并获得它之前和之后的两个单词

  4. 4

    使用awk提取文本文件中一列中两个字符串之间的第一个和最后一个数字,并区别那些数字?

  5. 5

    从第一个文件中搜索第二个文件,然后输出到python中的第三个文件

  6. 6

    从未在python中执行的文件读取的两个代码块中的第一个

  7. 7

    在目录中搜索在两个日期之间创建的文件

  8. 8

    如何转到文件中的第一个搜索结果?

  9. 9

    如何在一个文件中搜索另一个文件中的单词并显示一行中的第一个匹配单词

  10. 10

    如何使用Selenium和Python提取第一个搜索结果的href属性

  11. 11

    使用 google 和 python 搜索并存储第一个链接?

  12. 12

    使用python编程在csv文件中搜索两个日期到两次之间的记录

  13. 13

    比较两个文本文件文件并返回第一个差异所在的行和列

  14. 14

    Powershell-搜索和替换-第一个匹配的文本字符串出现-保存输出文件

  15. 15

    按行比较两个文件,并从第一个文件中删除重复项

  16. 16

    比较两个文件并在第一个文件中打印匹配项,并添加额外的列

  17. 17

    awk比较两个文件并在文件1中打印第一个字段

  18. 18

    比较两个文件,并在第一个文件中打印公共字段及其对应的行号

  19. 19

    如何使用Bash在两个时间戳之间搜索文件中的行

  20. 20

    如何使用Bash在两个时间戳之间搜索文件中的行

  21. 21

    使用python搜索一个文件的内容和第二个文件的内容

  22. 22

    在文本文件中搜索“ OK”的第一个匹配项,并在同一行中提取前两个字符以将其另存为UFT / VB脚本中的变量

  23. 23

    替换文件 Python 2.7 中的第一个字符

  24. 24

    如何一次搜索和替换许多HTML文件中的短语?(使用终端)

  25. 25

    一个大文本文件中的多个搜索和替换操作

  26. 26

    使用Bash搜索csv文件中的列,在txt文件中找到它,然后如果找到,则将第1列和第2列从第一个csv输出到第二个csv

  27. 27

    搜索一对中的两个元素并替换其中一个元素

  28. 28

    Teradata - 两个表之间的连接 - 保留第一个表中的值

  29. 29

    Python:选择目录中的第一个文件

热门标签

归档