Я хотел бы знать, как я могу определенные файлы на основе сгенерированных имен переменных. Важным примечанием является то, что все переменные, определенные в этих файлах, также должны быть доступны в среде моего текущего скрипта.
Я создал функцию, которая должна генерировать имена файлов, которые необходимо импортировать в этом конкретном случае. Вот упрощенная версия этой функции:
# the user provides these inputs:
building_name = "cambridge"
room_name = "office1"
def determine_file_names(room=room_name, building=building_name):
filename_building = "building_{}".format(building)
filename_room = "room_{}_{}".format(building, room)
return(filename_building, filename_room)
building_file, room_file = determine_file_names()
# I'd like to import the files 'building_cambridge.py' and 'room_cambridge_office1.py' by doing the following:
from Filefolder import building_file
from Filefolder import room_file
Проблема в том, что необходимые файлы не импортируются. Я получаю сообщение об ошибке, что местоположение файла 'building_file.py' не найдено:
Exception has occurred: ImportError
cannot import name 'building_file' from 'FileFolder' (unknown location)
Имеет смысл, что он не нашел 'building_file.py', потому что я действительно хотел, чтобы python импортировал 'building_cambridge.py'.
У меня есть около 300 файлов, из которых нужно импортировать только 2 конкретных файла, поэтому мне крайне необходимо, чтобы такая функция работала.
У меня есть строгие предпочтения для оператора import
, так как это позволяет мне использовать весь контент (например, переменные) в этих файлах непосредственно в моем текущем скрипте, а не создавать сотни разных классов в этих файлах. файлы.
Итак, опять мой вопрос: как я могу гарантировать, что я могу импортировать нужные файлы на основе этих сгенерированных имен переменных?