Bonsoir,
le code suivant permet dans certains cas de retrouver les noms possibles d'une variable.

Le code plante dans le cas de oneVar . Avez-vous des idées pour améliorer cela ?

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import gc
import sys
 
def name(obj):
    """
    Source : http://pythonic.pocoo.org/2009/5/30/finding-objects-names
    """
    frame = sys._getframe()
 
    for frame in iter(lambda: frame.f_back, None):
        frame.f_locals
 
    result = []
 
    for referrer in gc.get_referrers(obj):
        if isinstance(referrer, dict):
            for k, v in referrer.items():
                if v is obj:
                    result.append(k)
    return result
 
# Bon
oneDict = {'2': None}
print(name(oneDict))
 
# Bon
oneList = ['2', None]
print(name(oneList))
 
# Pas bon car inutilisable
oneVar = 4
print(name(oneVar))