在python.exe中运行时Python代码不同

时间:2012-06-25 09:28:28

标签: python

这是我的代码:

import win32api
import wmi

def username_func():
    uname = win32api.GetUserName()
    print "Username is:" ,uname, "\r "

def disk_func():
    c = wmi.WMI()
    for disk in c.Win32_LogicalDisk (DriveType=3):
            print disk.Caption, "%0.1f%% vrij \r" % (100.0 * long (disk.FreeSpace) / long     (disk.Size)),long (disk.FreeSpace) / long (1073741824),"gb van",long (disk.Size) / long     (1073741824),"gb"
            print

def main():
    username_func()
    disk_func()

main()

raw_input("Press Enter to continue...")

当我运行它时,它是pyscripter它给了我这个输出:

Username is: ****** 

C: 66.7% vrij 
79 gb van 119 gb

D: 21.9% vrij 
130 gb van 596 gb

当我双击python.py时,我得到一个不同的输出:

sername is: *****
79 gb van 119 gb

130 gb van 596 gb
这是为什么?我忘记了什么吗?

2 个答案:

答案 0 :(得分:3)

除了正确格式化代码外,您还应将\r更改为\n

答案 1 :(得分:0)

尝试将代码放在main()函数中,然后编写:

if __name__ == '__main__':
    main()

我记得我在python api中读到它在Windows上很重要。但我不记得为什么。如果我找到链接,我会稍后发布。