Какое имя переменной вы используете для файловых дескрипторов? - PullRequest
11 голосов
/ 14 сентября 2009

Довольно глупый тривиальный вопрос. Канонический пример: f = open('filename'), но

  • f не очень наглядно. Не глядя на код в течение некоторого времени, Вы можете забыть, означает ли это «файл» или «функция F (X)» или «Фурье преобразовать результаты "или что-то еще. EIBTI.
  • В Python file уже занят функцией.

Что еще вы используете?

Ответы [ 6 ]

6 голосов
/ 14 сентября 2009
 data_file
 settings_file
 results_file
 .... etc
5 голосов
/ 14 сентября 2009

Вы можете добавить его в начало, по-венгерски "file_fft".

Однако я постараюсь закрыть файловые дескрипторы как можно скорее, и я рекомендую использовать оператор with, как этот, чтобы вам не приходилось беспокоиться о его закрытии, и это облегчает процесс потери его.

with open("x.txt") as f:
    data = f.read()
    do something with data
3 голосов
/ 14 сентября 2009

Обычно, если область действия файлового объекта составляет всего несколько строк, f отлично читается - имя переменной для имени файла в открытом вызове, вероятно, достаточно описательно. в противном случае something_file, вероятно, хорошая идея.

3 голосов
/ 14 сентября 2009

Я рад использовать f (либо для функции, либо для файла ;-), если область действия этого идентификатора ограничена довольно маленьким компасом (например, with open('zap') as f: обычно предвещает, скажем). В целом, идентификаторы с большими лексическими областями должны быть более длинными и более явными, а идентификаторы с лексически небольшими / короткими областями действия / продолжительностью жизни могут быть короче и менее явными, и это относится к объекту открытого файла примерно так же, как и к любому другому виду объектов! -)

2 голосов
/ 14 сентября 2009

обычно я использую "fp" для кратковременного указателя файла.

для более долгоживущего дескриптора, я буду более наглядным. "fpDebugLog", например.

0 голосов
/ 14 сентября 2009

Я скорее использую одно из: f, fp, fd.

Иногда inf / outf для входного и выходного файла.

...