0
0 комментариев

python 3.8

Windows

Задача Взять данные из csv таблицы C:\py\route.csv

и создать маршруты между 2 точками

adr1;ip1;adr2;ip2
adres1;192.168.1.1;adres6;192.168.1.6
adres2;192.168.1.2;adres7;192.168.1.7
adres3;192.168.1.3;adres8;192.168.1.8
adres4;192.168.1.4;adres9;192.168.1.9
adres5;192.168.1.5;adres10;192.168.1.10

кодировка utf-8

Вот что удалось мне сделать но это не работает

import csv
import time

st0 = time.time()

with open(‘C:\py\\route.csv’, newline=») as csvfile:
reader = csv.DictReader(csvfile, delimiter=’;’)
for row in reader:
print(row[‘adr1’], row[‘ip1’], row[‘adr2’], row[‘ip2’])
adr1 = row[‘adr1’]
ip1 = row[‘ip1’]
adr2 = row[‘adr2’]
ip2 = row[‘ip2’]

# Создание таблицы
handle = open(«routetable.txt», «w»)
handle.write(‘# RDP доступ adr1 — adr2’ + «\n»)
handle.write(«iptables -A FORWARD -p tcp -s ip1 -d ip2 —dport 3389 -j ACCEPT» + «\n»)
handle.write(«iptables -A FORWARD -p tcp -s ip2 -d ip1 —sport 3389 -j ACCEPT» + «\n»)
handle.write(«# RDP доступ adr2 — adr1» + «\n»)
handle.write(«iptables -A FORWARD -p tcp -s ip2 -d ip1 —dport 3389 -j ACCEPT» + «\n»)
handle.write(«iptables -A FORWARD -p tcp -s ip1 -d ip2 —sport 3389 -j ACCEPT» + «\n»)
handle.close()
print(‘— Данные созданы —‘)
print(«— Скрипт завершил работу за — %s секунд —» % (time.time() — st0))

на выходе хотел получить

# RDP доступ adres1 — adres6
iptables -A FORWARD -p tcp -s 192.168.1.1 -d 192.168.1.6 —dport 3389 -j ACCEPT
iptables -A FORWARD -p tcp -s 192.168.1.6 -d 192.168.1.1 —sport 3389 -j ACCEPT
# RDP доступ adres6 — adres1
iptables -A FORWARD -p tcp -s 192.168.1.6 -d 192.168.1.1 —dport 3389 -j ACCEPT
iptables -A FORWARD -p tcp -s 192.168.1.1 -d 192.168.1.6 —sport 3389 -j ACCEPT

и так для всех строк в таблице


Добавить комментарий