Python简单实现控制电脑的方法


Posted in Python onJanuary 22, 2018

本文实例讲述了Python简单实现控制电脑的方法。分享给大家供大家参考,具体如下:

1、windows 下,CMD的一些命令:

dir:列出当前的所有文件

time:打印当前的时间

tree:列出当前目录下的子结构

在cmd中进入了某种模式,退出可以尝试以下命令:q 、exit()、Ctrl+c、Ctrl+z

运行程序:在cmd里面直接输入程序名称。如:notepad、calc

按tab键可以补全名字

在一个文件夹下,想快速打开cmd: 按住shift键,在鼠标点击右键,可以看见命令。

想在cmd中一个文件,但输入名称后显示文件或命令不存在。可以把文件目录加入path环境。

关机:shutdown -s -t +3600 -c "关机啦!"            #3600为时间,即过1小时后关机,并且在屏幕上显示“关机啦!”

取消关机命令:shutdown -a

2、Python控制cmd

2.1、os.system('xxx')  xxx为在cmd中执行的命令

2.2、 subprocess.Popen('xxx',shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) 

xxx为在cmd中执行的命令,其他不用改。

例子:

# -*- coding: utf-8 -*-
import os
os.system("ping www.baidu.com")
# -*- coding: utf-8 -*-
import subprocess
a=subprocess.Popen("ping www.baidu.com",shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
b=a.stdout.readlines()
for i in b:
  print i

os.system是一步一步打印出来,而 subprocess.Popen则一次性返回最终结果。

在目录下下建一个文件 conf.txt。在文件里面输入 ping www.baidu.com

# -*- coding: utf-8 -*-
import os
import time
#
# chra = "ping www.baidu.com"
# os.system(chra)
#
# import subprocess
#
# a = subprocess.Popen(chra, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
# b = a.stdout.readlines()
# for i in b:
#   print i
while True:
  f = open('conf.txt', 'r')
  content = f.read()
  os.system(content)
  time.sleep(5)

会看见程序每5秒运行 ping一次。改动conf.txt里面的内容为dir ,发现程序不再ping,而是打印文件夹的文件名称。

3、Python模块 win32api

3.1、win32api.Beep

Beep(freq, dur)     freq代表频率,dur代表持续的时间。

# -*- coding: utf-8 -*-
import win32api
win32api.Beep(6000,3000)

会持续三秒听见吱吱的响声

3.2、win32api.MessageBox

MessageBox(hwnd, message , title , style , language )   会弹出一个窗口

hwnd : int 从哪个位置弹出窗口。一般为0

message : 窗口内容

title : 标题名字

style=win32con.MB_OK : int,The style of the message box.

language=win32api.MAKELANGID(LANG_NEUTRAL,SUBLANG_DEFAULT) : int,The language ID to use.

# -*- coding: utf-8 -*-
import win32api
import time
#win32api.Beep(6000,3000)
while True:
  f = open('conf.txt', 'r')
  content = f.read().split('#')
  if content[0] != 'o':
    win32api.MessageBox(0, content[1] , content[2] )
  time.sleep(5)
#conf.txt中的内容: ”1 # hi ,beautiful girl# how are you!”

弹出一个显示名称为“how are you!” ,内容为“ hi ,beautiful girl”的窗口。

3.3、win32api.ShellExecute

int = ShellExecute(hwnd, op , file , params , dir , bShow )   执行程序

hwnd : intint 从哪个位置弹出窗口。一般为0

op : string 操作符。The operation to perform. May be "open", "print", or None, which defaults to "open".

 file : string 文件的地址。The name of the file to open.

params : string。可以为空。The parameters to pass, if the file name contains an executable. Should be None for a document file.

dir : string。可以为空。The initial directory for the application.

bShow : int 。1 表示打开窗口;0 表示不打开。Specifies whether the application is shown when it is opened. If the lpszFile parameter specifies a document file, this parameter is zero.

# -*- coding: utf-8 -*-
import win32api
win32api.ShellExecute(0,'open',r'C:\Users\Administrator\Pictures\toutiao\1.jpg','','',1)

运行程序就会打开这张图片。

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
Python3多线程爬虫实例讲解代码
Jan 05 Python
使用python实现链表操作
Jan 26 Python
python数字图像处理之高级形态学处理
Apr 27 Python
关于Django ForeignKey 反向查询中filter和_set的效率对比详解
Dec 15 Python
django的分页器Paginator 从django中导入类
Jul 25 Python
Python循环实现n的全排列功能
Sep 16 Python
python 实现生成均匀分布的点
Dec 05 Python
Python视频编辑库MoviePy的使用
Apr 01 Python
matplotlib 曲线图 和 折线图 plt.plot()实例
Apr 17 Python
Python下载网易云歌单歌曲的示例代码
Aug 12 Python
python利用 keyboard 库记录键盘事件
Oct 16 Python
python如何快速拼接字符串
Oct 28 Python
Zookeeper接口kazoo实例解析
Jan 22 #Python
Python调用C语言的方法【基于ctypes模块】
Jan 22 #Python
python的Crypto模块实现AES加密实例代码
Jan 22 #Python
python实现求最长回文子串长度
Jan 22 #Python
Python获取本机所有网卡ip,掩码和广播地址实例代码
Jan 22 #Python
Linux CentOS7下安装python3 的方法
Jan 21 #Python
简述Python2与Python3的不同点
Jan 21 #Python
You might like
非常重要的php正则表达式详解
2016/01/04 PHP
Zend Framework教程之Zend_Layout布局助手详解
2016/03/04 PHP
PHP HTTP 认证实例详解
2016/11/03 PHP
PHP并发查询MySQL的实例代码
2017/08/09 PHP
PHP实现验证码校验功能
2017/11/16 PHP
PDO::lastInsertId讲解
2019/01/29 PHP
用js实现的仿sohu博客更换页面风格(简单版)
2007/03/22 Javascript
javascript 表单的友好用户体现
2009/01/07 Javascript
js限制文本框输入长度两种限制方式(长度、字节数)
2012/12/19 Javascript
bootstrap table 服务器端分页例子分享
2015/02/10 Javascript
jQuery模拟新浪微博首页滚动效果的方法
2015/03/11 Javascript
javascript基于DOM实现省市级联下拉框的方法
2015/05/14 Javascript
JS对字符串编码的几种方式使用指南
2015/05/14 Javascript
JavaScript正则表达式中的ignoreCase属性使用详解
2015/06/16 Javascript
JavaScript生成.xls文件的代码
2016/12/22 Javascript
微信小程序 增、删、改、查操作实例详解
2017/01/13 Javascript
js实现带缓动动画的导航栏效果
2017/01/16 Javascript
js实现自定义路由
2017/02/04 Javascript
详解vue中组件参数
2018/07/09 Javascript
javacript replace 正则取字符串中的值并替换【推荐】
2018/09/13 Javascript
详解关于Vue2.0路由开启keep-alive时需要注意的地方
2018/09/18 Javascript
vue中v-for通过动态绑定class实现触发效果
2018/12/06 Javascript
浅析vue插槽和作用域插槽的理解
2019/04/22 Javascript
jQuery实现雪花飘落效果
2020/08/02 jQuery
[02:05]2014DOTA2西雅图邀请赛 专访啸天mik夫妻档
2014/07/08 DOTA
Python中新式类与经典类的区别详析
2019/07/10 Python
Python中PyQt5/PySide2的按钮控件使用实例
2019/08/17 Python
Python多分支if语句的使用
2020/09/03 Python
Python私有属性私有方法应用实例解析
2020/09/15 Python
幼儿园毕业园长感言
2014/02/24 职场文书
六年级小学生评语
2014/12/26 职场文书
幼儿园春季开学通知
2015/07/16 职场文书
2015小学师德工作总结
2015/07/21 职场文书
虚拟机linux端mysql数据库无法远程访问的解决办法
2021/05/26 MySQL
Java 常见的限流算法详细分析并实现
2022/04/07 Java/Android
安装Windows Server 2012 R2企业版操作系统并设置好相关参数
2022/04/29 Servers