U
U
ubushan2016-04-20 12:30:47
Python
ubushan, 2016-04-20 12:30:47

Which tool to output a specific error code from a file to use?

There is a text document with data, you need to make sure that you refer to a specific "Error Code" and display information only for this code
Example file:

Код ошибки: 10
"Ошибка в среде"
http://site/topic/777
http://site/topic/111

Код ошибки: 37
"Не удалось инициализировать драйвер этого устройства (Код 37)
(Операция не выполнена) Запрошенная операция не выполнена"
http://site/topic/555

Код ошибки: 374
"Не удалось инициализировать драйвер этого устройства (Код 347)
(Операция не выполнена) Запрошенная операция не выполнена"
http://site/topic/333

...

Answer the question

In order to leave comments, you need to log in

2 answer(s)
E
Evgeniy _, 2016-04-20
@ubushan

If I were you, I would submit your textual information as json. And it would be much easier for you to do everything.
Or at least it can be brought to the form:

Code,Error
Код ошибки: 10,"Ошибка в среде"
Код ошибки: 37,"Не удалось инициализировать драйвер этого устройства (Код 37) (Операция не выполнена) Запрошенная операция не выполнена"
Код ошибки: 374,"Не удалось инициализировать драйвер этого устройства (Код 347) -(Операция не выполнена) Запрошенная операция не выполнена"

And then parse...
with open('csv.csv', 'r') as csvfile: 
    fileDialect = csv.Sniffer().sniff(csvfile.read(1024))
    csvfile.seek(0)
    empty = {}
    dictReader = csv.DictReader(csvfile, dialect=fileDialect)
    for row in dictReader:
        empty[row['Code'].replace('Код ошибки: ','')] = row['Error']

>> Failed to initialize the driver for this device (Code 37) (Operation failed) Requested operation failed
ps: If you want to leave the file as it is - then, as already said - regex.

V
Vyacheslav, 2016-04-20
@Firik67

The answer is right away. You can list all code entries by splitting them on an empty line. And then, for example, a regular expression, check each element of the list with what you need.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question