1

我有以下一段代码,我一直在思考如何更简洁地编写它。在下面的几行中,我有一个名为的变量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_pathNone,则只会导出到 CWD。但是,这里的问题是,显然您不能将 Nonetype 和字符串相加。所以我的问题来了,它以某种方式处理这个问题,以便Nonetype可以创建一条单线路径?

4

1 回答 1

2

你在寻找这样的东西吗?

exp_directory = export_path if export_path is not None else f"{project_name}"
于 2020-04-21T09:46:20.050 回答