Думаю, проблема в том, что, хотя вы импортировали библиотеку sys
, вы не определили объект sys
.
Рассмотрим два следующих примера:
# Doesn't work
__import__('sys')
sys.callstats()
Это выдает ту же ошибку: "имя 'sys' не определено", в то время как
# Works
sys = __import__('sys')
sys.callstats()
работает нормально.
Вам необходимо где-то хранить импортированные объекты.Словарь кажется разумным:
import_dict = dict()
for module in ["ffmpy","os","sys"]:
try:
import_dict[module] = __import__(module)
except:
print("Can't import ["+module+"]")
import_dict['sys'].path.insert(0, r"C:\Users\david\Desktop\scripts")
Должно работать.
Редактировать:
Как предлагает @ 9769953 в комментариях, еще лучшее решение - использовать:
globals()[module] = __import__(module)
, что позволяет вам получить доступ к sys
напрямую, как обычно.