Как игнорировать имя, которое не существует временно и случайно из списка файла? - PullRequest
0 голосов
/ 30 октября 2018

У меня есть список имен в файле.

Каждый раз, когда моя программа обращается к одному имени из списка и извлекает данные.

Проблема в том, что иногда некоторые имена не доступны (временно и случайно).

Имя, которое было недоступно вчера, будет доступно сегодня. но другое имя, которое было доступно вчера, не будет доступно сегодня).

Как только программа достигает недоступного имени, программа застревает.

Что вы можете сделать, чтобы программа пропустила имена, которые в данный момент недоступны? так что программа всегда работает и не застревает.

Надеюсь, мне ясно ...:)

мой список:

name_1

NAME_2

NAME_3

Name_4

Name_5

моя программа:

with open('D:\My_Path.txt', 'r') as fp:
    Names = [line.rstrip('\n') for line in fp.readlines()] 

for Name in (Names):
    '''Do something'''

1 Ответ

0 голосов
/ 30 октября 2018

используйте оператор try / except с ошибкой, полученной в качестве исключения.

with open('D:\My_Path.txt', 'r') as fp:
    Names = [line.rstrip('\n') for line in fp.readlines()] 

for Name in (Names):
    try:
        '''Do something'''
    except UnboundLocalError:
        print('%s not available'%Name)

РЕДАКТИРОВАТЬ: Я не знаю, что такое «Делать что-то». Очевидно, это дает UnboundLocalError, если Name не существует. Рекомендуется посмотреть, какой именно оператор вызывает эту ошибку, и поместить это исключение в блок try/except. Смотрите также этот пост: Почему «кроме: пройти» плохая практика программирования?

Для получения общей информации о блоке try/except см .: https://docs.python.org/3/tutorial/errors.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...