关于Python 操作windows的方法收集

收集一些Python操作windows的代码 (不管是自带的or第三方库)均来自网上

1.shutdown 操作

定时关机、重启、注销

#!/usr/bin/python
#-*-coding:utf-8-*-
#shutdown.py

import sys#导入
import os

from PyQt4.QtCore import *
from PyQt4.QtGui import *

class ShutDown(QWidget):
    def __init__(self):
        super(ShutDown, self).__init__()
        self.setWindowTitle(‘PyQt‘)
        self.hourLabel = QLabel(u‘小时‘)#标签
        self.minuteLabel = QLabel(u‘分钟‘)
        self.secondLabel = QLabel(u‘秒‘)

        self.shutDownButton = QPushButton()#按钮
        self.shutDownButton.setText(u‘关机‘)
        self.shutDownButton.clicked.connect(self.confirm_shutdown)
        self.rebootButton = QPushButton()
        self.rebootButton.setText(u‘重启‘)
        self.rebootButton.clicked.connect(self.confirm_reboot)
        self.logoffButton = QPushButton()
        self.logoffButton.setText(u‘注销‘)
        self.logoffButton.clicked.connect(self.confirm_logoff)

        self.hourSpinBox = QSpinBox()
        self.hourSpinBox.setRange(0,1000)
        self.hourSpinBox.setSingleStep(1)
        self.hourSpinBox.setValue(0)
        self.minuteSpinBox = QSpinBox()
        self.minuteSpinBox.setRange(0,1000)
        self.minuteSpinBox.setSingleStep(1)
        self.minuteSpinBox.setValue(0)
        self.secondSpinBox = QSpinBox()
        self.secondSpinBox.setRange(0,1000)
        self.secondSpinBox.setSingleStep(1)
        self.secondSpinBox.setValue(0)

        self.layout = QGridLayout()#网格布局
        self.layout.addWidget(self.hourLabel,1,0)
        self.layout.addWidget(self.hourSpinBox,1,1)
        self.layout.addWidget(self.minuteLabel,1,2)
        self.layout.addWidget(self.minuteSpinBox,1,3)
        self.layout.addWidget(self.secondLabel,1,4)
        self.layout.addWidget(self.secondSpinBox,1,5)
        self.layout.addWidget(self.shutDownButton,2,0,2,2)
        self.layout.addWidget(self.rebootButton,2,2,2,2)
        self.layout.addWidget(self.logoffButton,2,4,2,2)
        self.setLayout(self.layout)

    def confirm_shutdown(self):
        self.time = (self.hourSpinBox.value() * 3600 + self.minuteSpinBox.value() * 60
                     + self.secondSpinBox.value())
        shutdown = ‘C:\Windows\System32\shutdown.exe -s -t ‘ + str(self.time)
        os.system(shutdown)
        sys.exit(0)

    def confirm_reboot(self):
        reboot = ‘C:\Windows\System32\shutdown.exe -r‘
        os.system(reboot)
        sys.exit(0)

    def confirm_logoff(self):
        logoff = ‘C:\Windows\System32\shutdown.exe -l‘
        os.system(logoff)
        sys.exit(0)

if __name__ == ‘__main__‘:
    app = QApplication(sys.argv)
    shutdown = ShutDown()
    shutdown.show()
    sys.exit(app.exec_())

2.windows锁屏

相当与WIN+L 操作

 1 # -*- coding: utf-8 -*-
 2 # python在windows锁屏的代码
 3 import sys
 4 from ctypes import *
 5 from PyQt4 import QtGui, QtCore
 6 try:
 7     _fromUtf8 = QtCore.QString.fromUtf8
 8 except AttributeError:
 9     def _fromUtf8(s):
10         return s
11
12 class QuitButton(QtGui.QWidget):
13     def __init__(self, parent=None):
14         QtGui.QWidget.__init__(self, parent)
15         self.setGeometry(300, 300, 250, 150)
16         self.setWindowTitle(_fromUtf8(‘windows锁屏‘))    #utf8 输出中文
17         lockscreen = QtGui.QPushButton(‘OK‘, self)
18         lockscreen.setGeometry(10, 10, 60, 35)
19         QtCore.QObject.connect(lockscreen, QtCore.SIGNAL(‘clicked()‘), self.win_L)  #self.win_L  点击执行
20     def win_L(self):
21         user32 = windll.LoadLibrary(‘user32.dll‘)
22         user32.LockWorkStation()
23
24 class lockScr(QtGui.QWidget):
25     def __init__(self):
26         QtGui.QWidget.__init__(self)
27     def win_L(self):
28         user32 = windll.LoadLibrary(‘user32.dll‘)
29         user32.LockWorkStation()
30
31 app = QtGui.QApplication(sys.argv)
32 qb = QuitButton()
33 qb.show()
34 sys.exit(app.exec_())

3.获取电脑的基本信息

引用第三方库WMI 可以查看到 windows当前的版本、位数X86(64)、进程数目、CPU类型和使用率、硬盘的分区和使用率、Ip地址和Mac地址、 详细进程数据等

 1 #!/usr/bin/env python
 2 # -*- coding: utf-8 -*-
 3
 4 import wmi
 5 import os
 6 import sys
 7 import platform
 8 import time
 9 import sys
10 reload(sys)
11 sys.setdefaultencoding( "utf-8" )
12 def sys_version():
13     c = wmi.WMI ()
14     #获取操作系统版本
15     for sys in c.Win32_OperatingSystem():
16         print u"Version:%s" % sys.Caption,"Vernum:%s" % sys.BuildNumber
17         print  sys.OSArchitecture#系统是32位还是64位的
18         print sys.NumberOfProcesses #当前系统运行的进程总数
19
20 def cpu_mem():
21     c = wmi.WMI ()
22     #CPU类型和内存
23     for processor in c.Win32_Processor():
24         #print "Processor ID: %s" % processor.DeviceID
25         print "Process Name: %s" % processor.Name.strip()
26     for Memory in c.Win32_PhysicalMemory():
27         print "Memory Capacity: %.fMB" %(int(Memory.Capacity)/1048576)
28
29 def cpu_use():
30     #5s取一次CPU的使用率
31     c = wmi.WMI()
32     while True:
33         for cpu in c.Win32_Processor():
34             timestamp = time.strftime(‘%a, %d %b %Y %H:%M:%S‘, time.localtime())
35             print ‘%s | Utilization: %s: %d %%‘ % (timestamp, cpu.DeviceID, cpu.LoadPercentage)
36             time.sleep(5)
37             break
38
39 def disk():
40     c = wmi.WMI ()
41     #获取硬盘分区
42     for physical_disk in c.Win32_DiskDrive ():
43         for partition in physical_disk.associators ("Win32_DiskDriveToDiskPartition"):
44             for logical_disk in partition.associators ("Win32_LogicalDiskToPartition"):
45                 print physical_disk.Caption, partition.Caption, logical_disk.Caption
46
47     #获取硬盘使用百分情况
48     for disk in c.Win32_LogicalDisk (DriveType=3):
49         print disk.Caption, "%0.2f%% free" % (100.0 * long (disk.FreeSpace) / long (disk.Size))
50
51 def network():
52     c = wmi.WMI ()
53     #获取MAC和IP地址
54     for interface in c.Win32_NetworkAdapterConfiguration (IPEnabled=1):
55         print "MAC: %s" % interface.MACAddress
56     for ip_address in interface.IPAddress:
57         print "ip_add: %s" % ip_address
58     print
59
60     #获取自启动程序的位置
61     for s in c.Win32_StartupCommand ():
62         print "[%s] %s <%s>" % (s.Location, s.Caption, s.Command)
63
64
65     #获取当前运行的进程
66     for process in c.Win32_Process ():
67         print process.ProcessId, process.Name
68
69 def main():
70     sys_version()
71     cpu_mem()
72     disk()
73     network()
74     #cpu_use()
75
76 if __name__ == ‘__main__‘:
77     main()
78     print platform.system()
79     print platform.release()
80     print platform.version()
81     print platform.platform()
82     print platform.machine()
时间: 2024-10-11 17:54:31

关于Python 操作windows的方法收集的相关文章

(转)Python 操作 Windows 粘贴板

转自: http://outofmemory.cn/code-snippet/3939/Python-operation-Windows-niantie-board Python 操作 Windows 粘贴板,实现Ctrl + C 和 Ctrl + V 功能需要先以管理员权限安装PyWin有关windows 粘贴板的相关函数,可以参考: http://msdn.microsoft.com/en-us/library/ms649051(VS.85).aspx http://msdn.microso

Python删除mongodb数据库和用户,查看Python操作mongodb的方法

#!/usr/bin/env python #coding:utf-8 from pymongo import MongoClient client = MongoClient('192.168.6.243', 27017) db=client['admin'] db.authenticate('root','123456') #help(db) #查看python操作mongodb的方法 for i in range(2,900): try: db = client['s%s' % i] db

python 操作windows DNS

在windows平台上启用winrm服务winrm service 默认都是未启用的状态,先查看状态:如无返回信息,则是没有启动: winrm enumerate winrm/config/listener 针对winrm service 进行基础配置: winrm quickconfig 查看winrm service listener: winrm e winrm/config/listener 为winrm service 配置auth: winrm set winrm/config/se

python添加Windows环境变量

1.cmd中添加方式 SET PATH=%PATH%;c:\Program Files (x86)\Wireshark 注:如上代码添加c:\Program Files (x86)\Wireshark至Windows环境变量中 但在python中使用os.system()函数却无法执行该命令,目前还未找到原因. 2.python操作Windows注册表进行更改 import _winreg as wg key_test = wg.OpenKey(wg.HKEY_LOCAL_MACHINE,r"S

Python实现Windows和Linux之间互相传输文件(文件夹)的方法

项目中需要从Windows系统传输ISO文件到Linux测试系统,然后再Linux测试系统里安装这个ISO文件.所以就需要实现如何把文件从Windows系统传输到Linux系统中. 在项目中使用了pscp.exe这个工具,只要按照pscp.exe的使用说明操作即可.只要进入pscp.exe的安装位置,然后输入pscp即可查看pscp的使用说明. 下面是我机器上的: 使用Python实现也挺简单的,下面的code主要介绍4中情况: 1. windows传输文件到Linux 2. windows传输

python操作日期和时间的方法

经常获得了一个用户提交的当前日期,我们需要以这个日期为依据返回它的前一天.后一天的日期或者转换操作等.用Python可以非常简单的解决这些关于日期计算的问题. 不管何时何地,只要我们编程时遇到了跟时间有关的问题,都要想到 datetime 和 time 标准库模块,今天我们就用它内部的方法,详解python操作日期和时间的方法. 1.将字符串的时间转换为时间戳 方法: a = "2013-10-10 23:40:00" #将其转换为时间数组 import time timeArray 

Windows系统下Python与NumPy安装方法

Windows系统下Python与NumPy安装方法 Windows下Python的某些第三方包安装步骤实在是太麻烦了(这里主要以NumPy为例,目前只有遇到安装它的时候出现了很多问题),晚上花了好几个小时才把NumPy科学计算包安装好,在这里描述下安装过程,避免大家走没有必要的弯路. 1,安装Python 首先,运行下载的MSI安装包,选择安装组件时,确保勾上了所有的组件. 特别要注意选上pip和Add python.exe to Path,然后多次点击Next即可完成安装. Python解释

Windows下安装MySQLdb, Python操作MySQL数据库的增删改查

这里的前提是windows上已经安装了MySQL数据库,且配置完毕,能正常建表能操作.在此基础上只需安装MySQL-python-1.2.4b4.win32-py2.7.exe就ok了,只有1M多.这个有点类似jdbc里的那个jar包. 下载链接:http://sourceforge.net/projects/mysql-python/ , 百度云盘 :http://pan.baidu.com/s/1dDgnfpR 密码:7bna 接着import MySQLdb就能使用了,下面给出测试代码:

Windows 下Python操作MySQL

1.环境要求(Win7 X64): python 2.7, MySQL-python-1.2.3.win-amd64-py2.7 :http://www.codegood.com/download/11/  (有需要32位的在这个地方下载https://pypi.python.org/pypi/MySQL-python) 注意:请看清楚自己的电脑位数,如果64位的系统使用32位的安装包会报如下错误: ImportError: DLL load failed: %1 不是有效的 Win32 应用程