MyTetra Share
Делитесь знаниями!
inspect.getargvalues(frame) / аргументы фрейма (функции)
Время создания: 20.05.2017 21:12
Раздел: Python - Модули - inspect
Запись: xintrea/mytetra_db_mcold/master/base/149530393011b6vj5ocf/text.html на raw.githubusercontent.com

# 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

 
MyTetra Share v.0.59
Яндекс индекс цитирования