Требование сделать это в одной строке сомнительно, но вы можете легко исправить синтаксис:
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