Форум сайта python.su
0
Добрый день.
Не являюсь программистом в чистом виде (сисадмин) - появилась небольшая задачка.
Необходимо автоматизировать небольшой процесс.
Есть файл - в нем строка 42 - нужно открыть ее - сравнить со значением (подстрока) и вывести сообщение.
Это та часть с которой не смог справиться…
попытался создать функцию но не могу понять как подстроку substring_new = “KMC_ID=111” сравнить с lines …
def fun_id ():
f = open('c:/Python/test/KeyObjects.xml', 'r')
lines = f.readlines()
lines[42] = ln
if substring_new in ln:
print('YES')
else:
print('NO')
# coding: utf-8 import time #задержка delay = 3 # исходная строка string_new = ' <SCPE:SecureChannel DiversificationType="NONE" DiversificationType_SessionKey="SCP02" KMC_ID="111" keyset_id="0" keyset_ver="0" />' + '\n' string_old = ' <SCPE:SecureChannel DiversificationType="NONE" DiversificationType_SessionKey="SCP02" KMC_ID="222" keyset_id="0" keyset_ver="0" />' + '\n' # подстрока, которая явно входит в исходную строку substring_new = "KMC_ID=111" #создаю переменную для строки 42 ....и не помогает... ln = '' def fun_id (): fo = open('c:/Python/test/KeyObjects.xml', 'r') lines = f.readlines() lines[42] = ln if substring_new in ln: print('YES') else: print('NO') def fun_new (): f = open('c:/Python/test/KeyObjects.xml', 'r') lines = f.readlines() lines[42] = string_new lines[46] = string_new save_changes = open('c:/Python/test/KeyObjects.xml', 'w') save_changes.writelines(lines) print("Комплекс настроен на НОВЫЕ id") time.sleep(delay) def fun_old (): f = open('c:/Python/test/KeyObjects.xml', 'r') lines = f.readlines() lines[42] = string_old lines[46] = string_old save_changes = open('c:/Python/test/KeyObjects.xml', 'w') save_changes.writelines(lines) print("Комплекс настроен на СТАРЫЕ id") time.sleep(delay) answer = input("ИЗМЕНИТЬ НАСТРОЙКИ? (Y/N)") if answer == 'Y': print(" [1] - НОВЫЕ id") print(" [2] - СТАРЫЕ id") do = int(input("Укажите номер действия: ")) if do == 1: fun_new() elif do == 2: fun_old() else: pass elif answer == 'N': print("До свидания!") else: print("Неизвестный ответ")
Отредактировано remvord (Ноя. 19, 2016 13:04:44)
Офлайн
76
Возможно вот так…
def fun_id (): fo = open('c:/Python/test/KeyObjects.xml', 'r') lines = f.readlines() if substring_new == lines[42]: print('YES') else: print('NO')
Офлайн
0
Romissevdопробовал - сообщение YES или NO - не выводится на экран вообще…
Возможно вот так…
Офлайн
0
Romissevd
Возможно вот так…
def fun_id (): f = open('c:/Python/test/KeyObjects.xml', 'r') lines = f.readlines() if substring_new in lines[42]: print('Комлпекс на НОВЫХ id') else: print('Комлпекс на СТАРЫХ id')
Отредактировано remvord (Ноя. 19, 2016 13:25:24)
Офлайн
0
remvordвсем спасибо решил вот так
answer = input("ИЗМЕНИТЬ НАСТРОЙКИ? (Y/N)") if answer == 'Y': print(" [1] - НОВЫЕ id") print(" [2] - СТАРЫЕ id") fun_id()
Отредактировано remvord (Ноя. 19, 2016 13:33:11)
Офлайн