我想知道python是否有像C / C ++这样的宏,它会在调用者站点插入代码而不是进行函数调用。我想到的一个用例如下
# In lib.py
def get_current_dir():
return os.path.dirname(os.path.realpath(__file__))
# In app.py
current_dir = get_current_dir()
这不起作用,除非get_current_dir
是一个宏,即它将get_current_dir
调用替换为os.path.dirname(os.path.realpath(__file__))
内的app.py
。因为否则返回的目录将是lib.py
所在的目录,其不一定与app.py
所在的目录相同。