31

クラシック文字列を f-string に変換するにはどうすればよいですか?

variable = 42
user_input = "The answer is {variable}"
print(user_input)

出力:The answer is {variable}

f_user_input = # Here the operation to go from a string to an f-string
print(f_user_input)

望ましい出力:The answer is 42

4

5 に答える 5

13

本当の答えはおそらく次のとおりです。これをしないでください。ユーザー入力を f-string として扱うことで、セキュリティ リスクを生み出すコードのように扱うことになります。入力のソースを信頼できることを本当に確信する必要があります。

ユーザー入力が信頼できることがわかっている場合は、eval()を使用してこれを行うことができます。

variable = 42
user_input="The answer is {variable}"
eval("f'{}'".format(user_input))
'The answer is 42'

追加するために編集: @wjandreaは、これを拡張する別の回答を指摘しました。

于 2020-04-22T16:55:28.010 に答える