-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCompareFile.py
More file actions
64 lines (47 loc) · 1.78 KB
/
CompareFile.py
File metadata and controls
64 lines (47 loc) · 1.78 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
import re
import string
infile_kilo = open('Conf_Files/nova-controller1.conf', 'r')
infile_mitaka= open('Conf_Files/nova-mitaka.conf', 'r')
outfile_exclusivo_kilo = open('Result/kilo_ex.txt', 'w')
outfile_mitaka2 = open('Result/mitaka2.txt', 'w')
def GetPart(s,part=0, separator='='):
out = s.partition(separator)[part].strip()
return out
def CreateDictionaryFromFile(filein):
diccionario = {}
for line in filein:
if not (re.match("^#",line) or re.match("\n",line)):
key=GetPart(line,0,"=")
val=GetPart(line,2,"=")
diccionario [key] = val
return diccionario
def CreateListFromFile(filein):
lista_key = []
for line in filein:
if not (re.match("^#",line) or re.match("\n",line)):
key=GetPart(line,0,"=")
lista_key.extend([key])
return lista_key
def StringToFile(line,dict):
key=GetPart(line,0,"=")
val=GetPart(line,2,"=")
string_to_file = "# MITAKA VALUE = " + val + "\n" + key + "\n"
if not (key.startswith('[') or key.startswith('\n')):
if key in dict.keys():
string_to_file = key + "=" + dict[key] + "\n"
return string_to_file
dict_kilo = CreateDictionaryFromFile (infile_kilo)
list_key_mitaka = CreateListFromFile (infile_mitaka)
infile_kilo = open('Conf_Files/nova-controller1.conf', 'r')
infile_mitaka= open('Conf_Files/nova-mitaka.conf', 'r')
for line in infile_mitaka:
if not (re.match("^#",line) or re.match("\n",line)):
outfile_mitaka2.write(StringToFile(line,dict_kilo))
for line in infile_kilo:
key=GetPart(line,0,"=")
val=GetPart(line,2,"=")
if key not in list_key_mitaka:
if not (re.match("^#",line) or re.match("\n",line)):
outfile_exclusivo_kilo.write(line)
infile_mitaka.close()
infile_kilo.close()