2024-10-02 20:39:00 发布
网友
我需要在Python的os.walk()期间包含/排除一些文件。你知道吗
我的解决方案可以是imperative,但是我的代码的用户应该能够进行declartive编程。你知道吗
include/exclude模式需要以语言中立的表示形式给出(例如json)。你知道吗
你知道怎么解决这个问题吗?你知道吗
这既是命令性的,也是声明性的。你知道吗
find ./some_dir | grep -e '*.txt' | grep -v 'dont_keep.txt'
下面是一个json示例,它是命令式和声明式的:
bullets = {"include": ['hello'], "exclude": ['*.txt', '*.jpeg']} weapon = filter(bullets) walkers = os.walk('.') [weapon(zombie) for zombie in walkers]
这里有一个例子,这两者兼而有之,而且比它需要的要复杂得多:
from functools import wraps def zombie_killer(f): @wraps(f) def moral_code(**kwargs): w = kwargs.get('weapon', '') f = kwargs.get('friendlies', '') z = kwargs.get('zombies', '') def maps(walkers): for (hilltop, houses, zombies) in walkers: for creature in zombies: if creature in f: yield f elif creature in zombie: yield return maps return moral_code @zombie_killer def kill_directive(*args, **kwargs): ''' magic goes here ''' print(args, kwargs) watch = kill_directive(weapon=bullets, friendlies=['rick', 'morty'], zombies=['*.txt', '*.pid']) list(watch(walkers))
这里可以看到一个非常好的例子:
这既是命令性的,也是声明性的。你知道吗
下面是一个json示例,它是命令式和声明式的:
这里有一个例子,这两者兼而有之,而且比它需要的要复杂得多:
这里可以看到一个非常好的例子:
相关问题 更多 >
编程相关推荐