J'essaye de construire un nombre variable d'arguments logger comme suit. Je voudrais l'appeler comme:Comment imprimer la liste à l'intérieur de l'impression python?
log(1, "Index: ", request_index, ", ", section)
def log(level, *msg) :
global print_debug_lastTime
currentTime = datetime.datetime.now().microsecond
# You can access global variables without the global keyword.
if g_debug_level & level != 0:
print("[DEBUG] " \
+ "%02d" % datetime.datetime.now().hour + ":" \
+ "%02d" % datetime.datetime.now().minute + ":" \
+ "%02d" % datetime.datetime.now().second + ":" \
+ str(currentTime) \
+ "%7d " % (currentTime - print_debug_lastTime) \
+ for m in msg)
Mais je ne parviens pas à imprimer le nombre variable d'arguments. Dans un premier temps, je suis en train d'exécuter ce code simple sur l'interprète:
>>> print(str(x) for x in (0,1,2,3))
<generator object <genexpr> at 0x6ffffe5e550>
Je voudrais à imprimer 0123
, mais il est l'impression comme peut être paraître.
C'est parce que ce qui est dans votre impression est une expression de générateur , donc vous pouvez faire ceci: 'print (list (str (x) pour x in (0 1,2,3))). – idjaw
Merci! 'print (" ".join ([str (x) pour x dans (0,1,2,3)]))' a-t-il fonctionné? – user