2016-09-12 5 views
-2

Kurz gesagt, arbeite ich mit einer Xlsx-Datei und beim Überprüfen einer Liste mit print dir(alist) erhalten leere Attribute.print dir (XXX) gibt leere Attribute

neglist = neglist.tolist() 

An dieser Stelle ich überprüfen möchten, ob evth Ok ist:

def check_variab (variab): 
    print "The type is %s" % type(variab) 
    print "Its length = %i" % len(variab) 
    print "Its attributes are:" % dir(variab) 

print 'neglist' 
check_variab(neglist) 

Aber was ich bekommen ist:

type: list 
length: 19 
attributes: 

keine Attribute gedruckt werden, obwohl die Typenliste ist alles in Ordnung , seine Länge und Inhalt ist in Ordnung.

Kann jemand erklären, warum das passiert?

+5

Ihre Ausgabe ist * text *, bitte verwenden Sie keinen Screenshot, kopieren Sie diesen Text und fügen Sie ihn hier ein. In einer Windows-Konsole verfügt das '-

+0

Ich bitte um Entschuldigung für meine Torheit, aber was ist [-] Fenstermenü? Ehrlich gesagt, habe ich versucht, es zu finden, aber gescheitert ... – Talka

+0

Es ist das Standard-Fenster-Menü in allen Windows-Fenstern. –

Antwort

0

Sie haben vergessen, einen %s Platzhalter zu verwenden, so dass nichts interpoliert wird. In %s oder %r:

print "Its attributes are %s:" % dir(variab) 
#       ^^ A placeholder for the value 

Ohne diese Platzhalter, werden Sie nichts sehen, in der Tat:

>>> variab = ['foo', 'bar'] 
>>> dir(variab) 
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__delslice__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getslice__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__setslice__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort'] 
>>> print "Its attributes are:" % dir(variab) 
Its attributes are: 
>>> print "Its attributes are %s:" % dir(variab) 
Its attributes are ['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__delslice__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getslice__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__setslice__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']: 

Sie wollen sich auf Listen verwenden standard sequence operations.

+0

Schande über mich! Vielen Dank. – Talka