Nie mogę zaimportować modułu przy użyciu funkcji eval()
.eval, aby zaimportować moduł
Tak, mam funkcję, gdzie jeśli robię import vfs_tests as v
to działa. Jednak ten sam import z użyciem eval()
, taki jak eval('import vfs_tests as v')
, powoduje błąd składni.
Dlaczego tak się dzieje?
Słowo ostrzeżenia: exec jest bardzo potężny. Jeśli część łańcucha, który wykonujesz, pochodzi z niezaufanego źródła, to exec jest również bardzo niebezpieczny. –
Z __import__ dla py <= 2.6, zauważ, że nie zostawia zaimportowanej nazwy zdefiniowanej, jak zwykły import. – TextGeek