我正在尝试编写一个小的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);
答案 0 :(得分:0)
您从skeleton
读取的行末尾有新行,因此确切的字符串比较可能不起作用。如果您将line = line.strip()
作为循环的第一行,它将删除该行上任何文本之前和之后的空格,并可能使您更接近您想要的内容。