View the Most Wanted LQ Wiki articles.
 Home Forums HCL Reviews Tutorials Articles Register Search Today's Posts Mark Forums Read
 LinuxQuestions.org In Python, printing leading zero for hex numbers 0 through f
 User Name Remember Me? Password
 Programming This forum is for all programming questions. The question does not have to be directly related to Linux and any language is fair game.

Notices

 04-15-2009, 06:17 PM #1 donpar LQ Newbie   Registered: Feb 2006 Location: Sunnyvale, CA Distribution: RH Enterprise 5 and 6, RHEV 2.2 Posts: 2 Rep: In Python, printing leading zero for hex numbers 0 through f Hello, This is probably a simple question for an experienced Python person: This is a little python program that gets 3 random hex numbers and prints them out: import random hn1 = (hex(random.randint(0,63))[2:]) hn2 = (hex(random.randint(0,255))[2:]) hn3 = (hex(random.randint(0,255))[2:]) print (hn1,":",hn2,":",hn3,sep="") Example Result: 37:bc:31 All is fine & dandy except when the hex number is from 0 through f. In that case the result may be 7b:5:5c I'd actually like it to be 7b:05:5c Is there a simple way of formatting this? Many thanks, Don P
 04-15-2009, 07:09 PM #2 rriggs Member   Registered: Mar 2009 Location: Colorado, US Distribution: Fedora 13, Fedora 14, RHEL6 Beta Posts: 46 Rep: Don't convert the numbers to hex strings with hex(). Use print formatting to format the numbers. >>> print '%02X:%02X:%02X' % (12, 21, 129) 0C:15:81 Or >>> hx='%02X:%02X:%02X' % (12, 21,129) >>> print hx 0C:15:81 Regards

 Tags python