Python 3: убедитесь, что команда выполняется без исключений в блоке if if else без использования try - PullRequest
0 голосов
/ 01 марта 2019

Существует ли в Python 3 какая-либо языковая конструкция native , чтобы проверить, можно ли без исключения выполнить строку кода без использования блока "try .. кроме"?

E.g .: Я анализирую список файлов и мне нужно выбрать только те файлы, которые начинаются с UNIX-даты и символа "_", и передать их другому модулю.Мне не нужен ни результат конвертации в данный момент, ни тип исключения, ни текст исключения, а только тот факт, что этот файл соответствует требованиям:

FileList = ["1550889019_FileName1.tar", "New_document.doc", "1550000000_FileName2.7z", "Song.mp3"] 
ValidFiles = []
for FileName in FileList:
    # Cut everything after first '_' symbol, convert to integer and try to parse as a date
    if no_exception(datetime.date.fromtimestamp(int(re.sub(r'_.*$', '', FileName)))):
        ValidFiles.append(FileName)

DoSmth(ValidFiles)

PS: я знаю, что яможет объявить функцию «no_exception ()», выполнить там код внутри блока «try .. кроме» и вернуть false при исключении, но я сейчас ищу собственное «более элегантное» решение.

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