Python脚本读取TXT并创建新的

Python脚本读取TXT并创建新的,python,python-2.7,Python,Python 2.7,我有这个脚本用于创建“acl”,将服务器的所有IP添加到squid配置 file = open("ip.txt", "r") ip_list = [line for line in file] for acl, tcp in zip(ip_list[::2], ip_list[1::2]): print "acl ip" + str(ip_list.index(acl) + 1) + " myip " + acl.strip() print "tcp_outgoing_add

我有这个脚本用于创建“acl”,将服务器的所有IP添加到squid配置

file = open("ip.txt", "r")
ip_list = [line for line in file]

for acl, tcp in zip(ip_list[::2], ip_list[1::2]):
    print "acl ip" + str(ip_list.index(acl) + 1) + " myip " + acl.strip()
    print  "tcp_outgoing_address " + tcp.strip() + " ip" + str(ip_list.index(acl) + 1)
我的问题是,当脚本从IP.txt读取IP时,我需要输入2次相同的IP,因为我在最终粘贴时需要输入2次相同的IP

我的朋友告诉我创建双循环,但我不知道怎么做

ip.txt看起来像这样

1.1.1.1
2.2.2.2
3.3.3.3
最后的粘贴应该是这样的

acl ip1 myip 1.1.1.1
tcp_outgoing_address 1.1.1.1 ip1
acl ip2 myip 2.2.2.2
tcp_outgoing_address 2.2.2.2 ip2
acl ip3 myip 3.3.3.3
tcp_outgoing_address 3.3.3.3 ip3
acl ip4 myip 4.4.4.4
tcp_outgoing_address 4.4.4.4 ip4

有一种更简单的方法可以做到这一点,而不需要
zip()
index()
的开销:

甚至更好(我认为):

并且输出将与您请求的相同:

acl ip1 myip 1.1.1.1
tcp_传出_地址1.1.1.1 ip1
acl ip2 myip 2.2.2.2
tcp_传出_地址2.2.2.2 ip2
acl ip3 myip 3.3.3.3
tcp_传出_地址3.3.3.3 ip3


我还通过用户输入并保存到TXT来实现这一点

file1 = open("iplist.txt","w") 

ip = raw_input("Enter IP list:").split(" ")

tpl = """acl ip{index} myip {ip}
tcp_outgoing_address {ip} ip{index}
"""

for index, line in enumerate(ip):
    file1.write(tpl.format(index=index, ip=line.strip()))

谢谢你的贡献你的剧本很棒
file = open("ip.txt", "r")

tpl = """acl ip{index} myip {ip}
tcp_outgoing_address {ip} ip {index}"""

for index, line in enumerate(file):
    print(tpl.format(index=index, ip=line.strip()))
file1 = open("iplist.txt","w") 

ip = raw_input("Enter IP list:").split(" ")

tpl = """acl ip{index} myip {ip}
tcp_outgoing_address {ip} ip{index}
"""

for index, line in enumerate(ip):
    file1.write(tpl.format(index=index, ip=line.strip()))