Какое имя переменной вы используете для файловых дескрипторов?
-
07-07-2019 - |
Вопрос
Довольно глупый тривиальный вопрос.Каноническим примером является f = open('filename')
, но
f
это не очень описательно.После того, как вы некоторое время не просматривали код, вы можете забыть, означает ли это "файл", или "функция f (x)", или "результаты преобразования Фурье " или что-то еще.EIBTI.- В Python,
file
уже используется функцией.
Чем еще вы пользуетесь?
Решение
data_file
settings_file
results_file
.... etc
Другие советы
Вы можете добавить его в начало, например, по-венгерски "file_fft".
Тем не менее, я бы постарался закрыть файловые дескрипторы как можно скорее, и я рекомендую использовать оператор with, подобный этому, чтобы вам не пришлось беспокоиться о его закрытии, и это упрощает отслеживание.
with open("x.txt") as f:
data = f.read()
do something with data
Я рад использовать f
(либо для функции, либо для файла;-) если область действия этого идентификатора ограничена довольно маленьким кругом (например, with open('zap') as f:
обычно это предвещало бы, скажем).В общем, идентификаторы с большими лексическими областями должны быть длиннее и более явными, идентификаторы с лексически малыми / короткими областями / продолжительностью жизни могут быть короче и менее явными, и это относится к объекту open file примерно в той же степени, что и к любому другому типу объектов!-)
Обычно, если область действия файлового объекта составляет всего несколько строк, f
отлично читается - имя переменной для имени файла в открытом вызове, вероятно, достаточно описательно.в противном случае something_file
вероятно, это хорошая идея.
обычно я буду использовать "fp" для указателя на файл с коротким сроком службы.
для более долговечного дескриптора я буду более описательным."fpDebugLog", например.
Я предпочитаю использовать один из: f, fp, fd
.
Иногда inf
/ outf
для входного и выходного файла.