# coding:utf-8
import inspect
def caller_args():
frame = inspect.currentframe()
outer_frames = inspect.getouterframes(frame)
#print(outer_frames)
caller_frame = outer_frames[1][0]
return inspect.getargvalues(caller_frame)
def fun_a(arg1=4, n=3):
print caller_args().locals # получаем переменные в виде словаря
def fun_b():
fun_a('angel') # сюда заводим аргументы
if __name__ == '__main__':
fun_b()
{'arg1': 'angel', 'n': 3}
# coding:utf-8
import inspect
def caller_args():
frame = inspect.currentframe()
outer_frames = inspect.getouterframes(frame)
#print(outer_frames)
caller_frame = outer_frames[1][0]
return inspect.getargvalues(caller_frame)
def fun_a(arg1=4, n=3):
for k, v in caller_args().locals.items():
print(str(k) + ' - ' + str(v))
def fun_b():
fun_a('angel') # сюда заводим аргументы
if __name__ == '__main__':
fun_b()
arg1 - angel
n - 3