Обработка Nontype для установки пути - PullRequest
1 голос
/ 21 апреля 2020

У меня есть следующий фрагмент кода, в котором я думал о том, как написать его более кратко. В строках ниже у меня есть переменная с именем export_path, которая может быть задана пользователем или нет, и в случае ее получения сгенерированный файл будет экспортирован в эту папку. Однако, если это None, файлы экспортируются в CWD.

if export_path is not None:
    export_directory = export_path + f'/{project_name}'
    with open(export_directory, 'w') as file:
        file.write(text)
else:
    with open(f'{project_name}', 'w') as file:
        file.write(text)

Моя проблема в том, что я хотел бы избежать этого блока if / else и сделать его чище. Пока что моя основная борьба связана с тем, как обращаться с переменной export_path, когда ее нет. В идеале я хотел бы сделать что-то вроде этого:

export_directory = export_path + f'/{project_name}'
with open(export_directory, 'w') as file:
     file.write(text)

А в случае export_path будет None, тогда будет только экспорт в CWD. Но проблема здесь в том, что вы, очевидно, не можете суммировать Нетип и строку. Итак, вот мой вопрос, как-то обработать этот Nonetype таким образом, чтобы можно было создать однострочную дорожку?

1 Ответ

2 голосов
/ 21 апреля 2020

Вы ищете что-то подобное?

exp_directory = export_path if export_path is not None else f"{project_name}"
...