Не получается использовать f-строки в другом файле
Мне нужно из файла english.py перенести текст в файл main.py (что-то типа того, что у некоторых программ есть .lang файлы)
То есть нужно переменную guy перенести в файл english.py
english.py:
lang = {
'actions': 'Actions',
'balance': f"{guy}'s Balance"
}
main.py:
from english import lang
guy = "Andrey"
print(lang['balance'])
Ответы (2 шт):
Автор решения: Zhihar
→ Ссылка
это не ваш случай случаем?
https://stackoverflow.com/questions/47339121/how-do-i-convert-a-string-into-an-f-string
и решение
def effify(non_f_str: str):
return eval(f'f"""{non_f_str}"""')
т.е. вы берете строку из файла, оборачиваете ее в f-строковый формат и выполняете, таким образом {} локально заполняется
Автор решения: S. Nick
→ Ссылка
Как вариант
main.py
from english import _lang
guy = "Andrey"
lang = _lang(guy)
print(lang['balance'])
english.py
def _lang(guy):
lang = {
'actions': 'Actions',
'balance': f"{guy}'s Balance"
}
return lang