Синтаксис в одну строку для чтения и возврата файла в Python с использованием - PullRequest
0 голосов
/ 07 января 2020

Мне нужно прочитать файл и вернуть результат: это синтаксис, который я использую

return json.loads(with open(file, 'r') as f: f.read())

Я знаю, что мы не можем написать with open в одну строку, поэтому я ищу правильный синтаксис, чтобы исправить что.

1 Ответ

3 голосов
/ 07 января 2020

Требование сделать это в одной строке сомнительно, но вы можете легко исправить синтаксис:

with open(file, 'r') as f: return json.loads(f.read())

Если json прочитать файл для вас, вероятно, и более идиоматично c, и более элегантно:

with open(file, 'r') as f: return json.load(f)

Python позволяет вам написать «набор» операторов после двоеточия для создания блока в одну строку. Все, что выглядит как

whatever in a block: do things; more stuff

эквивалентно многострочному

whatever in a block:
  do things
  more stuff
...