Форум сайта python.su
.
Отредактировано J.R. (Фев. 27, 2016 16:09:10)
Офлайн
GangДелай, как у J.R.
Но смущает постоянно порявляющаяся ошибка.
fKeys = open('keys.txt') fCity = open('city.txt') fResult = open('result.txt','w') with fKeys, fCity, fResult: for lineKeys in fKeys: lineKeys = lineKeys.rstrip('\n') fCity.seek(0) for lineCity in fCity: lineCity = lineCity.rstrip('\n') result = lineKeys + ' ' + lineCity fResult.write(result + '\n')
Офлайн
Вы в начале открываете файлы через
with open
open
Офлайн
py.user.next
Да все работает и з этой ошибкой. Но вопрос, почему она возникает?
Последняя строчка скрипта
fResult.read() io.UnsupportedOperation: not readable
Офлайн
GangПотому что ты неправильно сделал. Ты пытаешься читать файл, открытый на запись.
Но вопрос, почему она возникает?
Отредактировано py.user.next (Авг. 7, 2015 15:20:35)
Офлайн
Ну вродь как разобрался. Теперь все без ошибок
fKeys = open('keys.txt','r') fCity = open('city.txt','r') fResult = open('result.txt','w') for lineKeys in fKeys: lineKeys = lineKeys.rstrip('\n') fCity.seek(0) for lineCity in fCity: lineCity = lineCity.rstrip('\n') result = lineKeys+' '+lineCity fResult.write(result + '\n') with fKeys, fCity, fResult: fKeys.close() fCity.close() fResult.close()
Офлайн
GangВот это скопируй себе.
Ну вродь как разобрался. Теперь все без ошибок
Gangwith уже выполняется close'ы неявно, он для того и нужен, чтобы их выполнять.with fKeys, fCity, fResult: fKeys.close() fCity.close() fResult.close()
Отредактировано py.user.next (Авг. 7, 2015 15:24:13)
Офлайн
py.user.next
Ага понял
Офлайн
Еще маленькая проблемка возникла. Хочу первую букву в результирующей строке привести в верхний регистр. Использую
result.capitalize()
fKeys = open('keys.txt','r') fCity = open('city.txt','r') fResult = open('result.txt','w') with fKeys, fCity, fResult: for lineKeys in fKeys: lineKeys = lineKeys.rstrip('\n') fCity.seek(0) for lineCity in fCity: lineCity = lineCity.rstrip('\n') result = lineKeys+' '+lineCity result.capitalize() fResult.write(result + '\n')
result.capitalize()
Офлайн
result = (lineKeys + ' ' + lineCity).capitalize()
GangТы её как бы в воздухе привёл, а потом откинул. (Как с rstrip() нужно делать.)
Где я опять протупил?
Отредактировано py.user.next (Авг. 7, 2015 16:40:19)
Офлайн