Подскажите, пожалуйста, как сделать следующее: есть файл, есть два списка, в одном текущие значения, которые находятся в файле, другом новые значения на которые нужно заменить текущий, собственно пока написал следующую функцию:
def createMapFile(old_data, new_data, file):
try:
if len(old_data) != len(new_data):
print 'Наборы параметров не соответствуют друг-другу'
else:
file = open(file, 'r') # Opens the file in read-mode
text = file.read() # Reads the file and assigns the value to a variable
file.close() # Closes the file (read session)
file = open(mapfile, 'w')
i = 0
f = [file.write(text.replace(old_data[i], new_data[i])) for i in range(1, old_data)]
# file.write(text.replace(old_data[i], new_data[i])) #replaces all instances of our keyword
return file.close() # Closes the file (write session)
except:
print 'Ошибка:'
Сейчас происходит ошибка, хотя если взять не список и убрать цикл for, заменив его закомментированной строкой, то тогда всё работает, но с одним словом, нужно со списком слов.
и вообще не совсем понятно, почему вы используете генератор списка вместо обычного цикла, может поясните?
– actionless Sep 28 '13 at 12:04