python入门12操作系统(OS模块与窗口控制)&内存修改

本文介绍了Python中OS模块的功能及使用方法,包括获取操作系统类型、环境变量、目录操作等基本功能;演示了如何通过OS模块执行Shell命令;详细解释了路径操作方法;并展示了如何利用第三方库进行窗体控制、语音合成以及内存修改等高级应用。

(1)OS模块
包含了普遍的操作系统的功能 import os
①系统
1. 获取操作系统类型

       os.name
       nt-->windows系统
       posix-->Linux,unix
  1. 获取操作系统中的所有环境变量

     os.environ
    
  2. 获取指定环境变量

     os.enviorn.get("  ")
    

4.获取当前目录

      os.curdir

5.获取当前工作目录,即当前python脚本所在的目录

      os.getcwd()

6.列表的形式返回指定目录下的所有文件

      os.listdir()

7.在当前目录下创建新目录

      os.mkdir()

8.删除目录

      os.rmdir()
      #删除普通文件  os.remove("")

9.获取文件属性

      os.stat(" ")

10.重命名

      os.rename("oldname","newname")

②运行shell命令

      os.system("notepad")              打开记事本
      os.system("write")                打开写字板
      os.system("mspaint")              打开画板
      os.system("msconfig")             打开系统设置
      os.system("shutdown -s -t 500")   关机命令
      os.system("shutdown -a")          取消关机命令
      os.system("taskkill /f /im notepad.exe")

③路径
1.查看当前的绝对路径

     os.path.abspath("./   ")
  1. 拼接路径

      os.path.join(p1,p2)
    

3.拆分路径

      os.path.split(path)

4.获取扩展名

      os.path.splitext

5.判断是否是目录

      os.path.isdir(path)

6.判断文件是否存在

      os.path.isfile(path)

7.判断目录是否存在

      os.path.exists(path)

8.获取文件大小(字节)

      os.path.getsize(path)

9.文件的目录

      os.path.dirname(path)
      os.path.basename(path)

(2) 窗体控制
控制窗体的显示和隐藏
PID:进程号

       import win32con
       import win32gui
       import time

找出窗体编号

       QQWin = win32gui.FindWindow("类","标题")

隐藏窗体

       win32gui.ShowWindow(QQWin,win32con.SW_HIDE)

显示窗体

       win32gui.ShowWindow(QQwin,win32con.SW_SHOW)

控制窗体的位置与大小

       win32gui.SetWindowPos(控制的窗体,大致方位HWND_TOPMOST,位置x,位置y,长度,宽度)  

(3)语音合成

import win32com.client
yuyin=win32com.Dispatch("SAPI.SPVOICE")
yuyin.Speak(" 你好呀! ")

(4)内存修改

#进程模块
import win32process
#系统
import win32con
import win32gui
import win32api
import ctypes
PROCESS_ALL_ACCESS = (0x00f0000 | 0x00100000 | 0XFFF)
#找窗体
win = win32gui.FindWindow("", "")  
#根据窗体找到进程号
hid, pid = win32process.GetWindowThreadProcessId(win)
#以最高权限打开进程
p = win32api.OpenProcess(PROCESS_ALL_ACCESS, False, pid)

#加载内核模块
md = ctypes.windll.LoadLibarary(" ")

data = ctypes.c_long()
#读取内存
md.ReadProcessMemory(int(p),  *****, ctypes.byref(data), 4, None)

#新值
newData = ctypes.c_long()
md.writeProcessMemory(int(p), ****, ctypes.byref(newData), 4, None)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值