Форум сайта python.su
0
Действующие лица
Postgresql - utf-8
freebsd - utf-8
Пишу скрипт,который должен обрабатывать строки с ошибками при импорте базы.
def search_for_err(): global error_list err_key='ОШИБКА' print os.getcwd() f=open('error.log','r') for line in f: #f.readline() if err_key in line: error_list.append(line) f.close() str_from_list=str(error_list) print (u'%s') %str_from_list
psql:data/create_widget_info_gallery.sql:14: \xd0\x9e\xd0\xa8\xd0\x98\xd0\x91\xd0\x9a\xd0\x90: INSERT \xd0\xb8\xd0\xbb\xd0\xb8 UPDATE \xd0\xb2 \xd1\x82\xd0\xb0\xd0\xb1\xd0\xbb\xd0\xb8\xd1\x86\xd0\xb5 "widget_info_gallery" \xd0\xbd\xd0\xb0\xd1\x80\xd1\x83\xd1\x88\xd0\xb0\xd0\xb5\xd1\x82 \xd0\xbe\xd0\xb3\xd1\x80\xd0\xb0\xd0\xbd\xd0\xb8\xd1\x87\xd0\xb5\xd0\xbd\xd0\xb8\xd0\xb5 \xd0\xb2\xd0\xbd\xd0\xb5\xd1\x88\xd0\xbd\xd0\xb5\xd0\xb3\xd0\xbe \xd0\xba\xd0\xbb\xd1\x8e\xd1\x87\xd0\xb0 "fk_widget_info_gallery_internal_resource_id" \n']
Офлайн
0
Переделал немного.
def search_for_err(): global error_list err_key='ОШИБКА' print os.getcwd() f=open('error.log','r') for line in f: if err_key in line: with open('search_result','a') as f: f.writelines(line) f.close()
Офлайн
857
1) зачем глобальная переменная нужна ? подай список как аргумент
2) для склеивания списка строк используй str.join()
3) для раскодирования из байтов в юникод используй str.decode()
4) выводи просто через print s
Офлайн