A stupid newbie question about output...
nn
pruebauno at latinmail.com
Tue Oct 20 14:47:35 EDT 2009
On Oct 20, 2:23 pm, J <dreadpiratej... at gmail.com> wrote:
> Can someone explain why this code results in two different outputs?
>
> > for os in comp.CIM_OperatingSystem ():
> > print os.Name.split("|")[0] + " Service Pack", os.ServicePackMajorVersion
> > osVer = os.Name.split("|")[0] + " Service Pack", os.ServicePackMajorVersion
> > print osVer
>
> the first print statement gives me this:
> Microsoft Windows XP Professional Service Pack 3
>
> and the second print statement gives me this:
> (u'Microsoft Windows XP Professional Service Pack', 3)
>
> I know this is a grossly oversimplified example.
>
> The ultimate goal is to get certain things from the system via WMI and
> then use that data in other scripts to generate test case scripts for
> a testing tool.
>
> So given this example, what I ultimately want is to create a class
> full of this stuff, that I can call from another program like this:
>
> > import SystemInformation
> > comp = SystemInformation()
> > # Get OS info
> > OSVersion = comp.osVer
>
> OR just print the result
>
> > print comp.osVer
>
> Can this be cleared up by using some sort of formatting in print (like
> sprintf) or am I going to have to manipulate the WMI results before
> sending them out??
>
> Thanks
>
> Jeff
>
> --
>
> Ted Turner - "Sports is like a war without the killing." -http://www.brainyquote.com/quotes/authors/t/ted_turner.html
This is because of some magic the print statement does with variables
separated by commas adding a space. So you can either do:
print (os.Name.split("|")[0] + " Service Pack",
os.ServicePackMajorVersion)
or
osVer = "%s %s" % (os.Name.split("|")[0] + " Service Pack",
os.ServicePackMajorVersion)
More information about the Python-list
mailing list