這篇文章主要介紹了Python簡單實現控制電腦的方法,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下
這篇文章主要介紹了Python簡單實現控制電腦的方法,涉及Python基於os及win32api等模組調用系統命令操作電腦的相關實現技巧,需要的朋友可以參考下
本文執行個體講述了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 osos.system("ping www.baidu.com")
# -*- coding: utf-8 -*-import subprocessa=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 osimport 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 iwhile 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 win32apiwin32api.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 win32apiimport 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 win32apiwin32api.ShellExecute(0,'open',r'C:\Users\Administrator\Pictures\toutiao\1.jpg','','',1)
運行程式就會開啟這張圖片。