f字符串是代码。不仅以安全的方式(当然,字符串文字就是代码),而且以危险的任意代码执行方式。这是有效的f字符串:
f"{__import__('os').system('install ransomware or something')}"它将在评估时执行任意的shell命令。
您在问如何获取从文本文件加载的字符串并将其评估为代码,答案归结为
eval。这当然是 安全隐患 , 可能不是一个好主意
,因此,我建议不要尝试从文件中加载f字符串。
如果
f"My name is {name} and I am {age} years old"要从文件加载f字符串,则实际上f"My name is {name} and I am {age} years old"在文件中,
f并用引号引起来。
从文件中读取它,对其进行编译并保存(因此
eval不必每次都重新编译):
compiled_fstring = compile(fstring_from_file, '<fstring_from_file>', 'eval')
并使用
eval:
formatted_output = eval(compiled_fstring)
如果这样做,请非常注意从中加载f字符串的来源。



