Szukam sposobu szybkiego drukowania nazwy zmiennej i wartości podczas szybkiego rozwijania/debugowania małego skryptu Pythona na linii poleceń/sesji ssh uniks.log nazwa zmiennej i wartość
Wydaje się, że jest to bardzo powszechny wymóg i wydaje się, że w przypadku każdej linii, która drukuje lub rejestruje wartość, wydaje się nieekonomiczna (przy naciśnięciach klawiszy i czasie/energii). czyli zamiast
print 'my_variable_name:', my_variable_name
Chcę być w stanie wykonać następujące czynności na str, int, liście, dict
log(my_variable_name)
log(i)
log(my_string)
log(my_list)
i uzyskać następujące dane wyjściowe
my_variable_name:some string
i:10
my_string:a string of words
my_list:[1, 2, 3]
idealnie wyjście byłoby również logować nazwę funkcji
Widziałem kilka rozwiązań próbujących użyć locals, globals, fr ames itp., Ale jeszcze nie widziałem czegoś, co działa na ints, ciągi, listy i działa również w funkcjach.
Dzięki
Brzmi jak makro ... –
dlaczego nie używać pdb: http://docs.python.org/2/library/pdb.html? – lucasg
Evil Hacks: http://stackoverflow.com/questions/932818/retrieving-a-variables-name-in-python-at-runtime, http://stackoverflow.com/questions/2553354/how-to-get- a-variable-name-as-a-string-in-python – doctorlove