Python宝典第十章:系统编程
来源:互联网 发布:java垃圾自动回收 编辑:程序博客网 时间:2024/06/12 19:39
Python虽然是脚本语言,但是借助扩展后同样可以进行体系级别的程序编写。
通过使用win32api模块,可以方便的访问注册表对其进行打开关闭等等。。。(需要自己下载pywin32)
<span style="font-size:14px;">from win32api import *from win32con import *name="SOFTWARE\\Python\\PythonCore\\3.4\\Installpath"key=RegOpenKey(HKEY_LOCAL_MACHINE, name, 0, KEY_ALL_ACCESS) #key为打开的句柄RegQueryValue(key,'') #'F:\\rantom\\python3.4\\'RegCloseKey(key)</span>
操作注册表类:
- 打开注册表:RegOpenKey[Ex](key, subkey, reserved, sam) Key为5个基本型,subkey子项,reserved必须为0, sam进行的操作
- 关闭注册表:RegCloseKey(key)
- 读取项值:RegQueryValue(key, subkey) RegQueryValueEx(key, valuename)
- 查询项的基本信息:RegQueryInfoKey(key) 返回子项数目,项值数目,最后一次修改时间
- 设置项值:RegSetValueEx(key, valueName, reserved, type, value) RegSetValue(key, subkey, type, value)
- 添加删除项:RegCreateKey(key, subkey) RegDeleteKey(key, subkey)
# -*- coding:utf-8 -*-# file: pyAdd2AutoRun.py#from win32api import *from win32con import *name="SetIE"path="F:\\rantom\\python3.4\\SetIE.py"KeyName="Sofware\\MicroSoft\\Windows\\CurrentVersion\\Run"try: key=RegOpenKey(HKEY_CURRENT_USER,\ KeyName,\ 0,\ KEY_ALL_ACCESS) RegSetValueEx(key, name, 0, REG_SZ, path) RegCloseKey(key)except: print("error")print("added that!")
# -*- coding:utf-8 -*-# file: pySetIE.py#from win32api import *from win32con import *from datetime import *from string import *keyname="Sofware\\MicroSoft\\Internet Explorer\\Main"page="www.baidu.com"today=date.today()title=today.strftime("%Y")+"年"+today.strftime("%m")+"月"+today.strftime("%d")+"日"try: key=RegOpenKey(HKEY_CURRENT_USER,\ keyname,\ 0,\ KEY_ALL_ACCESS) StartPage=RegQueryValueEx(key, "Start Page")except: print("error")else: if StartPage[0]!=page: RegSetValueEx(key, "Start Page", 0, REG_SZ, page) RegSetValueEx(key, "Window Title", 0, REG_SZ, title) RegCloseKey(key)
文件和目录:OS模块
- 当前路径:getcwd()
- 获得目录中内容:listdir(path)
- 创建目录:mkdir(path)
- 删除目录:rmdir(path) 目录必须存在且为空
- 判断是否是目录:path.isdir(path) path.isfile(path)
# -*- coding:utf-8 -*-# file: pyBatchRename.py#from os import *perfix="Python"length=2base1format="mdb"def PadLeft(str, num, padstr): stringlength=len(str) n=num-stringlength if n>=0: str=padstr*n+str return strprint("the files in %s will be renamed" % os.getcwd())input=input("press y to continue\n")if input.lower()!="y": exit()filenames=os.listdir(os.curdir)i=base-1for filename in filenames: i=i+1 if filename!="pyBatchRename.py" and path.isfile(filename): name=str(i) name=PadLeft(name, length, '0') t=filename.split('.') m=len(t) if format=='': rename(filename, perfix+name+'.'+t[m-1]) else: if t[m-1]==format: rename(filename, perfix+name+'.'+t[m-1]) else: i=i-1 else: i=i-1
代码框架生成器:
# -*- coding:utf-8 -*-# file: pyMakeCode.py#from os import *from sys import *from datetime import *py="""#--------------------------------------------# To:#--------------------------------------------# By:#--------------------------------------------"""if path.isfile(argv[1]): print("%s already exist!" % argv[1]) exit()file=open(argv[1],'w')today=date.today()date=today.strftime('%Y')+'-'+today.strftime('%m')+'-'+today.strftime('%d')filetypes=str.split(argv[1],'.')length=len(filetypes)filetype=filetypes[length-1]if tiletypes=="py": print("use python mode") file.writelines("# -*- coding:utf-8 -*-") file.write('\n') file.writelines("# file: "+argv[1]) file.write('\n') file.write(py) file.write("# Date: "+date) file.write('\n') file.write("#--------------------------------------------")else: print("just create %s" % argv[1])file.close
生产可执行文件(略。。。)
py2exe或者cx_freeze
运行其他程序:
os.system(command): command相当于在cmd里面打的命令
os.system('nodepad')
os.system('nodepad python.txt')
使用shellexecute函数运行程序(win32api模块),相当于在资源管理器中双肩文件图标,系统会打开项羽的应用程序执行操作
ShellExecute(hwnd, op, file, params, dir, bShow)
为了控制通过脚本运行的程序,可以使用win32process模块中的CreateProcess()函数创建一个运行响应程序的进程。
ctypes调用kernel32.dll的函数(略。。。)
0 0
- Python宝典第十章:系统编程
- Python宝典第23章:多线程编程
- Python核心编程 第十章
- python 核心编程 第十章
- Python宝典第18章:Python网络编程
- Python核心编程第十章笔记
- python核心编程--第十章 11.11 练习
- Python核心编程 第十章练习
- python核心编程第十章练习
- Python宝典第八、九章:Python多媒体编程及使用PIL处理图片
- Python读书笔记第十章:面向对象的编程
- 趣学Python-教孩子学编程--第十章
- 《Python核心编程》第十章:错误和异常
- Python游戏编程入门第二章 笔记 第十页结束
- python核心编程第二版第十章学习笔记
- Python之《机器学习系统设计》第十章
- Python宝典第二章:Python起步必备
- 『Joomla!入门实用宝典』第十章插件开发
- Codeforces 2A-Winner(模拟)
- 调整和删除Win7休眠文件Hiberfil.sys释放C盘
- 科技放得开国家的开发和客服电话机房的空间环境放得开
- css中的层叠(级联)的含义
- 括号匹配
- Python宝典第十章:系统编程
- HDU 4417 Super Mario--离线树状数组、划分树、线段树
- java遍历实体类的属性和数据类型以及属性值
- 漫谈个性化query推荐
- 客服看价格开始放假看公司开发国家开始非公开身份副食
- 二叉树的最大深度与最小深度
- TCP三次握手连接四次挥手终止连接
- 国际化工和价格和价格就会改好价格和工会级号
- C结构体之位域(位段)_chris