首页 > 解决方案 > 即使字符串相等,IF 条件也没有执行

问题描述

我有 2 个文件 - file1 和 filee2。我想在 file1 中搜索关键字并将该关键字的下两行复制到 file1 中并存储在变量中。然后在 file2 中搜索相同的关键字,并将 file2 中关键字的下 2 行替换为变量。

文件1:

在此处输入图像描述

文件2:

在此处输入图像描述

例如,我想找到关键字[default]并复制[ default]的下 2 行, 然后在文件 2 中找到[default]并将接下来的两行替换为 file1。

标签: pythonamazon-web-services

解决方案


为此编写的代码,但如果条件没有执行,即使它是True

fn1 = open(r'<path>', 'r')
fn = open(r"<path>","r")
profile = "[default]"

  
# read the content of the file line by line
cont = fn.readlines()
cont1 = fn1.readlines()
#print(type(cont[0]))
#print(type(profile))


for i in range(len(cont)):   
    if str(profile) == (cont[i]):
            #print("IF is passed")
            profile_line1 = cont[i+1]
            profile_line2 = cont[i+2]
            #fn1.write(profile_line1)
            print("profile 1 and 2 is",profile_line1,profile_line2)
    else:
        pass

for i in range(len(cont1)):
    if str(profile) == str(cont1[i]):
        fn1_profile_line1 = cont1[i+1]
        fn1_profile_line2 = cont1[i+2]
        print(fn1_profile_line1)
        print(fn1_profile_line2)
        #fn1.write(profile_line1)
        fn1.replace(cont1[i+1], profile_line1)
        fn1.replace(cont1[i+2], profile_line2)
    else:
        pass


fn.close()
fn1.close()

推荐阅读