Python win32模块是基于win32 API的一个Python扩展模块,它可以让Python程序员可以方便地使用Windows底层API进行Windows编程。Python win32模块提供了很多有用的Windows API函数的Python接口,例如:文件操作、系统信息、进程与线程管理、注册表操作等等。它使Python程序具有了更广泛的应用的潜力,例如对文件系统或Windows本身进行操作。
一、文件操作
Python win32模块提供了丰富的文件操作函数,能够方便地进行文件的读取、写入、复制、移动、修改文件属性等操作。下面简单介绍一些常用的文件操作函数:
#文件操作 import os import win32file,win32con srcPath = "c:\\Temp\\test.txt" desPath = "c:\\Test\\test.txt" #文件复制 win32file.CopyFile(srcPath, desPath, 0) #设置文件只读 win32file.SetFileAttributes(desPath,win32con.FILE_ATTRIBUTE_READONLY) #设置文件隐藏 win32file.SetFileAttributes(desPath,win32con.FILE_ATTRIBUTE_HIDDEN) #设置文件普通属性 win32file.SetFileAttributes(desPath,win32con.FILE_ATTRIBUTE_NORMAL) #删除文件 os.remove(desPath)
二、系统信息
Python win32模块提供了一些方便获取系统信息的函数,例如:获取CPU信息、硬盘信息、内存信息等等。下面简单介绍一些常用的系统信息函数:
#系统信息 import win32api,win32com.client #获取CPU信息 print("CPU个数: ", win32api.GetSystemInfo() ['NumberOfProcessors']) #获取硬盘信息 disk_usage = win32api.GetDiskFreeSpaceEx("C:\\") print("C盘可用空间:%d KB" % (disk_usage[0] / 1024)) #获取内存信息 wmi = win32com.client.GetObject("winmgmts:") MemoryTotalSize = wmi.ExecQuery("Select * from Win32_OperatingSystem")[0].TotalVisibleMemorySize print("物理内存总量:%d KB" % (MemoryTotalSize / 1024))
三、进程与线程管理
Python win32模块提供了很多方便的进程管理和线程管理函数,它能够方便地创建、结束和查询进程和线程的状态等信息。下面简单介绍一些常用的进程和线程管理函数:
#进程管理 import win32process #创建进程 pid = win32process.CreateProcess("C:\\Windows\\System32\\notepad.exe","","",None,0,win32process.CREATE_NEW_CONSOLE,None,None,win32process.STARTUPINFO()) print("进程PID:",pid) #结束进程 win32process.TerminateProcess(pid,0) #获取系统所有进程PID PID_List = list(p.ID for p in win32process.EnumProcesses()) #线程管理 import win32api,win32con #创建线程 handle = win32api.CreateThread(None, 0,func,(),0, None) #挂起线程 win32api.SuspendThread(handle) #继续执行线程 win32api.ResumeThread(handle)
四、注册表操作
Python win32模块提供了方便操作注册表的函数,它能够轻松地进行注册表的读取、写入、修改和删除操作。下面简单介绍一些常用的注册表操作函数:
#注册表操作 import winreg #打开或创建注册表项 key = winreg.CreateKey(winreg.HKEY_CURRENT_USER, 'Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings') #写入注册表项 winreg.SetValue(key, "ProxyEnable", winreg.REG_DWORD, 1) #读取注册表项 value, type = winreg.QueryValueEx(key, "ProxyEnable") print(value, type) #删除注册表项 winreg.DeleteValue(key, "ProxyEnable")
Python win32模块为Python程序员提供了一个方便、高效的Windows编程工具,它能够方便地操作系统、文件系统和注册表等Windows系统资源。这些函数为Python程序员在使用Python进行Windows编程时提供了极大的帮助。