Python初步了解(八)
来源:互联网 发布:整容后悔 知乎 编辑:程序博客网 时间:2024/06/01 08:18
初级的了解就这些了,接下来就是个人喜欢的学习了,可以看网上的项目进行实际学习,我个人喜欢从小项目练手,逐渐研究大点的,Python能做游戏,我喜欢;Python能搞数据,我喜欢;Python能搞运维,这我就不是爸爸了么
一、OS模块
通过代码加注释理解
import os #导入os模块sprint(os.environ()) #输出系统环境变量# print(os.environ.get('path')) #输出系统环境变量# print(os.curdir)path = r'C:\Users\xlg\Desktop\县区列表list.txt'# print(os.path.splitext(path))# print(os.path.exists(path))# print(os.path.dirname(path))# print(os.path.basename(path))# print(os.path.abspath('./1os.py'))# print(os.path.split(path))
二、堆栈队列(代码模拟)
列表实现栈的结构
#列表实现栈的结构mylist = []str1 = 'abcedfghi'#进栈的顺序for i in str1: mylist.append(i)#出栈的顺序print(mylist.pop())#栈内结果print(mylist)~~~#### 利用栈的原理实现,文件内文件展示~~~import ospath = r'C:\...' #目标文件夹位置filePathList = []filePathList.append(path)while len(filePathList) != -1: localPath = filePathList.pop() localListDir = os.path.listdir(localPath) #将列表该目录下的文件名返回列表 for fileName in localListDir: newPath = os.path.join(localPath,fileName) if os.path.isdir(newPath): filePathList.append(newPath) elif os.path.isfile(newPath) print('文件信息',fileName)
队列代码演示
import collectionsque = collections.deque() #使用队列str1 = 'abcde'for i in str1: que.append(i)print(que.popleft())print(que)#结果:#a#deque(['b', 'c', 'd', 'e', 'f', 'g'])
利用队列原理,实现文件夹中所有文件名显示
import collectionsimport ospath = 'C:\....' #文件夹目标路径que = collections.deque() #声明队列que.append(path)while len(que) != 0: localPath = que.popleft fileList = os.path.listdir(localPath) #获取列表形式文件名 for fileName in filelist: newPath = os.path.join(path,fileName) if os.path.isdir(): que.append(newPath) elif os.path.isfile(): print('文件名',fileName)~~~## 三、装饰器~~~#原理代码def demo(x): def inner(arg): print('demodemodemo',arg) x(arg) return innerdef func(arg): print('funcfuncfunc',arg)func = demo(func)func(30)#结果:#demodemodemo 30#funcfuncfunc 30~~~
利用装饰器实现以上代码
def demo(x): def inner(arg): print('demodemodemo',arg) x(arg) return inner@demo # == func = demo(func)def func(arg): print('funcfuncfunc',arg)func(30)#结果:#demodemodemo 30#funcfuncfunc 30
四、时间模块
import timeprint(time.strftime('%Y-%m-%d %H:%M:%S'))#结果 2017-08-12 10:18:04mytime = "2017-08-11 20:48:53"#返回时间的元组x = time.strptime(mytime,"%Y-%m-%d %H:%M:%S") # 元组转 中国时间格式print(time.strftime('%Y-%m-%d %H:%M:%S',x))#将时间的元组 转换成 秒数mytimestime = time.mktime(x)print(mytimestime)
小实例1:更改植物大战僵尸(阳光值)
1、准备文件
2、整理数据
#标题:植物大战僵尸中文版#类:MainWindow#最高权限值:(0x000F0000|0x00100000|0xFFF)~~~3、编写代码~~~import win32processimport win32guiimport cytpesimport win32api#查找窗体window = win32gui.FIndWindow('MainWindow','植物大战僵尸中文版')#当前窗体进程编号hid,pid = win32process.GetWindowThreadProcessId(window)#用最高权限打开进程p = win32api.OpenProcess((0x000F0000|0x00100000|0xFFF),False,pid)#C语言模块date = ctypes.c_long()#加载模块localdll = ctypes.windll.LoadLibray('C:/Windows/System32/kernel32.dll')#获取当前进程内存 234930512(阳光地址)localdll.ReadProcessMemory(int(p),234930512,ctypes.byref(date),4,None)#读取阳光值print(date.value)#改写当前进程内存localdll.WriteProcessMemory(int(p),234930512,ctypes.byref(newdate),4,None)
小实例2:控制QQ窗体
代码实例:
import win32guiimport win32conimport randomqq = win32gui.FindWindow('TXGuiFoundation','QQ')#第一种for i in range(500): win32gui.SetWindowPos(qq,win32con.HWD_TOPMOST,0,0,i,i,win32con.SWP_SHOWWINDOW)#第二种效果while True: x = random.randrange(1000) y = random.randrange(1000) win32gui.SetWindowPos(qq, win32con.HWND_TOPMOST, x, 10, 400, 400, win32con.SWP_SHOWWINDOW) win32gui.SetWindowPos(feiq, win32con.HWND_TOPMOST, x, 300, 400, 400, win32con.SWP_SHOWWINDOW)#第三种效果while True: win32gui.ShowWindow(qq,win32con.SW_HIDE) time.sleep(1) win32gui.ShowWindow(qq,win32con.SW_SHOW)
小实例3:文本语音输出
import win32com.clientspeaker = win32com.client.Dispatch('SAPI.SPVOICE')speaker.Speak('文本内容')
阅读全文
0 0
- Python初步了解(八)
- Python初步了解(一)
- Python初步了解(二)
- Python初步了解(三)
- Python初步了解(四)
- Python初步了解(五)
- Python初步了解(六)
- Python初步了解(七)
- Python初步了解(七)
- Python 学习日知录(八)- 迭代器初步
- Python网络爬虫(一):初步了解
- 初步了解python
- (二)初步了解
- Python 框架之Flask初步了解
- 自己初步了解python数据爬虫
- 自己初步了解python数据爬虫
- 共享内存(初步了解)
- 区间DP(初步了解)
- 【XSY1996】【BZOJ1565】【NOI2009】植物大战僵尸 网络流 最大权闭合子图
- C++链接器弱名称重复时链接的隐患
- storm和kafka集成报java.lang.ClassNotFoundException: kafka.api.OffsetRequest解决方法
- HDU
- 在CentOS中使用docker运行nodejs应用
- Python初步了解(八)
- usb_hid描述符简介
- HOJ2064
- RxBus事件总线的实现
- HDU 6108 小C的倍数问题 【数学】 (2017"百度之星"程序设计大赛
- yum自动补全
- 畅通工程续 HDU
- C++/Qt中一个简单的加密解密程序
- Go语言学习笔记 --- defer 、panic 、recover