Ou existe-t-il un meilleur moyen de sortir rapidement le contenu d'un tableau (multidimensionnel ou non). Merci.
L'instruction python print fait un bon travail de formatage des tableaux multidimesion sans nécessiter le print_r disponible en php.
Étant donné que la définition de l'impression indique que chaque objet est converti en chaîne et que les tableaux simples affichent un "[" suivi d'une liste de valeurs d'objet séparée par des virgules suivie d'un "]", cela fonctionnera pour n'importe quelle profondeur et forme de tableaux. .
Par exemple
>>> x = [[1,2,3],[4,5,6]]
>>> print x
[[1, 2, 3], [4, 5, 6]]
Si vous avez besoin d'un formatage plus avancé que cela, AJ la réponse suggérant pprint est probablement la voie à suivre.
Vous cherchiez la fonction bult-in repr
.
http://docs.python.org/2/library/functions.html#func-repr
print repr(variable)
Dans Python 3, print
n'est plus une instruction, ce serait donc:
print( repr(variable) )
from pprint import pprint
student = {'Student1': { 'Age':10, 'Roll':1 },
'Student2': { 'Age':12, 'Roll':2 },
'Student3': { 'Age':11, 'Roll':3 },
'Student4': { 'Age':13, 'Roll':4 },
'Student5': { 'Age':10, 'Roll':5 }
}
pprint(student)
en voici une que vous pouvez essayer:
https://github.com/sha256/python-var-dump
vous pouvez l'installer simplement en utilisant pip
pip install var_dump
avertissement: je l'ai écrit :)
print
et pprint
sont parfaits pour les types de données ou les classes intégrées qui définissent une représentation d'objet saine. Si vous voulez un vidage complet d'objets arbitraires, vous devrez lancer le vôtre. Ce n'est pas si difficile: créez simplement une fonction récursive avec le cas de base étant tout type de données intégré non-conteneur, et le cas récursif appliquant la fonction à chaque élément d'un conteneur ou à chaque attribut de l'objet, qui peut être obtenu en utilisant dir()
ou le module inspect
.
il y a print_r pour python https://github.com/marcbelmont/python-print_r/wiki mais il est préférable d'utiliser des modules standard
si vous voulez formater variable
comme une chaîne, vous pouvez faire:
s = repr(variable)
il fonctionne quel que soit le type et ne nécessite aucune importation.
Si vous souhaitez inclure le contenu d'un objet dans une seule chaîne avec son type:
if hasattr(variable, "__dict__"):
s = "{}: {}".format(variable, vars(variable))
else:
s = repr(variable)
my_list = list(enumerate([1,2,3,4,5,6,7,8,9],0))
print(my_list)
Imprime [(0, 1), (1, 2), (2, 3), (3, 4), (4, 5), (5, 6), (6, 7), (7, 8) , (8, 9)]
Pour les vues de test simples, j'utilise HttpResponse. Test de la demande à partir du formulaire, de la variable, de la chaîne, de l'ID, et non de l'objet
from Django.http.response import HttpResponse
HttpResponse(variable)
def add_comment(request, id):
return HttpResponse(id)