Определить тип элемента из списка - PullRequest
1 голос
/ 30 марта 2020

Мой python код читает файл PEM, содержащий сертификат и закрытый ключ, используя пакет PEM.

Код:

import pem
Mylist = pem.parse_file(r"C:\Desktop\MyPemFile.pem")
for ele in Mylist:
     print(type(ele))

Вывод:

<class 'pem._core.RSAPrivateKey'>
<class 'pem._core.Certificate'>
<class 'pem._core.Certificate'>
<class 'pem._core.Certificate'>
<class 'pem._core.Certificate'> 

Теперь я пытаюсь определить тип каждый элемент из списка и выполнить определенное действие.
Но я не могу определить тип. Как изменить мой код для определения типа каждого элемента?

Код:

Mylist = pem.parse_file(r"C:\Desktop\MyPemFile.pem")
for ele in Mylist:
     if type(ele) == 'pem._core.RSAPrivateKey':
             print(ele) # Control doesn't go here. 
     else:
             print("Invalid type")

Вывод:

Invalid type
Invalid type
Invalid type
Invalid type
Invalid type 

1 Ответ

1 голос
/ 30 марта 2020

должен быть простой способ импортировать сами типы (не строковые идентификаторы) из pem. что-то вроде from pem import RSAPrivateKey (я никогда не использовал библиотеку). тогда вы можете просто сделать:

if isinstance(ele, RSAPrivateKey):
    print(ele)
...