gpt4 book ai didi

python:在第一个条件变为假后运行第二个条件

转载 作者:行者123 更新时间:2023-12-04 14:02:44 24 4
gpt4 key购买 nike

我有一个脚本 where 和 if-else 条件,if 接受用户输入并处理如果某个目录为空并填充该特定目录,如果目录已满则运行 else。

if not any(fname.endswith('.csv') for fname in os.listdir(certain_dir)): 
def process_user_input:
....code....
return something
else:
def do_process_on_the_full_directory:
....code....
return something_else

因此,如果目录为空,第一个条件变为 True 并且第一个进程发生,然后我必须再次运行脚本以使 else 条件在现在已满的目录上运行。我的问题是是否有更好的方法,所以我不必运行脚本两次来获得我想要的,例如,如果有添加订单的方法(首先,完成first 条件,second 目录填满后运行第二个条件)。

最佳答案

我们可以利用 decorators1在这里强制执行不变量。

def fill_if_empty(func):
def wrapper(*args, **kwargs):
if YOUR_CONDITION_TO_CHECK_FOR_EMPTY_DIR:
"""
fill empty directory here.
"""
process_user_input()

func(*args, **kwargs)
return wrapper

@fill_if_empty
def do_process_on_the_full_directory():
"""
Run some process on directory
"""
pass

do_process_on_full_directory()

1. 查看这篇文章以了解有关装饰器的更多信息:How to make function decorators and chain them together?

关于python:在第一个条件变为假后运行第二个条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69460945/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com