#python #file
#python #файл
Вопрос:
Не могли бы вы, пожалуйста, помочь мне понять, что это за строка кода?
with open(f'{linear_rl_trader_models}/scaler.pkl', 'rb') as f:
` scaler = pickle.load(f)`
Я знаю, что такое open, но первая часть open не является каталогом.
почему у нас есть f'{}/…? Я имею в виду, почему {}?
не могли бы вы дать мне источник или объяснить это? Спасибо,
Комментарии:
1. Это синтаксис форматирования строк. Это равно ‘{}/scaler.pkl/’.format(linear_rl_trader_models).
2. Это f-строка .
{linear_rl_trader_models}
заменяется любой переменнойlinear_rl_trader_models
. Вероятно, это путь.
Ответ №1:
Это форматированный строковый литерал (f-строка). F-строки используются для:
включите значение выражений Python внутри строки, добавив к строке префикс
f
илиF
и записав выражения как{expression}
.
В этом случае вы можете думать об этом как о конкатенации строк, но в более сжатом формате. Таким образом, ваш пример можно рассматривать как:
with open(str(linear_rl_trader_models) '/scaler.pkl', 'rb') ...
Это просто строка, содержащая значение linear_rl_trader_models
переменной, за которой следует '/scaler.pkl'
Комментарии:
1. Я немного смущен, потому что, когда мы используем open, мы указываем имя файла, а не переменные!
2. @hghg Действительно, и имя файла представлено строкой. Это было бы то же самое, что определить переменную и заранее назначить ей путь, а затем передать эту переменную в
open()
функцию.