Python字符串比较不适用于匹配行

时间:2015-05-27 20:23:52

标签: python

我正在尝试编写一个小的Python脚本来生成CentOS7 kickstart配置。我有一个框架配置文件,并根据一些用户输入,脚本将通过将自定义块插入骨架中弹出自定义cfg文件。但是,字符串比较由于某种原因不起作用。

#!/usr/bin/python

type = raw_input("Static OR DHCP: ")
gateway = raw_input("Gateway IP: ")
nameserver = raw_input("DNS Server: ")
hostname = raw_input("Hostname: ")
ipaddr = raw_input("IP Address: ")

skeleton = open('ks_skeleton.cfg', 'r')
config = open(hostname + '.cfg', 'w')

for line in skeleton:
        if line == "$NETWORK":
                print("Interting Network values...");
                config.write("network  --bootproto=" + type + " --device=ens192 --gateway=" + gateway + " --ip=" + ipaddr + " --nameserver=" + nameserver + " --netmask=255.255.255.0 --ipv6=auto --activate\n");
                config.write("network  --hostname=" + hostname + "\n");
        else:
                config.write(line);

1 个答案:

答案 0 :(得分:0)

您从skeleton读取的行末尾有新行,因此确切的字符串比较可能不起作用。如果您将line = line.strip()作为循环的第一行,它将删除该行上任何文本之前和之后的空格,并可能使您更接近您想要的内容。