简体   繁体   English

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

[英]Python code different when run in python.exe

This is my code: 这是我的代码:

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...")

when i run this is pyscripter it gives me this output: 当我运行这是pyscripter时,它给了我这个输出:

Username is: ****** 

C: 66.7% vrij 
79 gb van 119 gb

D: 21.9% vrij 
130 gb van 596 gb

when i double click the python.py i get a different output: 当我双击python.py时,我得到一个不同的输出:

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

130 gb van 596 gb

why is this? 为什么是这样? am i forgetting something? 我忘记了什么吗?

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

Try to put your code in a main() function and then write: 尝试将您的代码放入main()函数中,然后编写:

if __name__ == '__main__':
    main()

I remember I read in python api that it's important on Windows. 我记得我在python api中读到它在Windows上很重要。 But I don't remember why. 但是我不记得为什么。 If I find the link I'll post it later. 如果找到链接,我将在以后发布。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM