自动检测&后台复制光盘内容

原理:利用python的win32模块,注册服务,让代码在后台运行,检测光盘并拷贝文件

启动的方法就是直接在cmd下,main.py install ,然后去windows 的服务下就可以看到The smallestpossible Python Service 这个服务,你可以启动,停止,还可以设置成开机自动启动。启动服务后,会自动检测光盘并在后台拷贝文件

main.py

import win32serviceutil
import win32service
import win32event
import CopyDvd2Hard

class SmallestPythonService(win32serviceutil.ServiceFramework):
    _svc_name_ = "SmallestPythonService"
    _svc_display_name_ = "The smallest possible Python Service"
    def __init__(self, args):
        win32serviceutil.ServiceFramework.__init__(self, args)
        # Create an event which we will use to wait on.
        # The "service stop" request will set this event.
        self.hWaitStop = win32event.CreateEvent(None, 0, 0, None)

    def SvcStop(self):
        # Before we do anything, tell the SCM we are starting the stop process.
        self.ReportServiceStatus(win32service.SERVICE_STOP_PENDING)
        # And set my event.
        win32event.SetEvent(self.hWaitStop)

    def SvcDoRun(self):
        #实际运行代码#
        CopyDvd2Hard.copydvd2hard()
        win32event.WaitForSingleObject(self.hWaitStop, win32event.INFINITE)

if __name__==‘__main__‘:
    win32serviceutil.HandleCommandLine(SmallestPythonService)

CopyDvd2Hard.py

__author__ = ‘M‘
import os
import win32file
import shutil
import time

def copydvd2hard(dstdir=‘temp‘):
    #检测本地的最后一个光驱和硬盘分区
    letters = [l.upper() + ‘:‘ for l in ‘abcdefghijklmnopqrstuvwxyz‘]
    cdrom = ‘‘
    harddrive = ‘‘
    for drive in letters:
        if win32file.GetDriveType(drive) == 3:
            harddrive = drive
        if win32file.GetDriveType(drive) == 5:
            cdrom = drive
    cdrom += ‘/‘
    harddrive = harddrive + ‘/‘ + dstdir
    #检测光驱内是否有光盘,等待光盘插入
    while os.system(‘cd /d‘ + cdrom):
        time.sleep(5)
    #拷贝文件
    shutil.copytree(cdrom, harddrive)

if __name__ == ‘__main__‘:
    copydvd2hard()

自动检测&后台复制光盘内容

时间: 2024-08-11 07:50:08

自动检测&后台复制光盘内容的相关文章

nginx自动检测后台服务器健康状态

转自http://www.iyunv.com/thread-38535-1-1.html 公司业务线上对后端节点的健康检查是通过nginx_upstream_check_module模块做的,这里我将分别介绍这三种实现方式以及之间的差异性. 一.ngx_http_proxy_module 模块和ngx_http_upstream_module模块(自带)       严格来说,nginx自带是没有针对负载均衡后端节点的健康检查的,但是可以通过默认自带的ngx_http_proxy_module

Elasticsearch 动态映射——自动检测

ES中有一个非常重要的特性——动态映射,即索引文档前不需要创建索引.类型等信息,在索引的同时会自动完成索引.类型.映射的创建. 那么什么是映射呢?映射就是描述字段的类型.如何进行分析.如何进行索引等内容. 本篇就着重讲述下,ES中映射的自动检测特性. 更多内容参考:Elastisearch知识总结 字段自动检测 在某个字段第一次出现时,如果之前没有定义过映射,ES会自动检测它可能满足的类型,然后创建对应的映射. JSON数据 ES中的数据类型 null 不会添加字段 true or false

Centos 6.5 mkisofs kickstart 制作自动安装iso镜像 光盘

使用kickstart制作一个自动化安装的ISO盘 1. 挂载CentOS光盘,然后复制光盘内容到一个指定文件夹 mount /dev/sr1 /media/cdrom/ -t iso9660 #注意我用的是虚拟机, 注意使用你的光驱设备 mkdir -p /root/auto_install cp -arf /media/cdrom /root/auto_install/ # 在cp的时候一定要注意, 本人在这块耽误了1个下午时间,  # 因为我一开使用 cp -r /cdrom/* 来复制的

JavaScript实现http地址自动检测并添加URL链接

一.天生我材必有用 给http字符自动添加URL链接是比较常见的一项功能.举两个我最近常用到的自动检测http://地址并添加链接的例子吧,首先是QQ邮箱,在使用QQ邮箱时,如果输入了URL地址(http://或是https://开头),则QQ邮箱会自动给这个地址添加可打开的链接.如下图所示: 还有就是微博客产品,例如twitter(zxx://翻墙可以follow苍井空姐姐哦~~ ^_^),或是国产的新浪微博.当您的微博信息中有类似于http://www.zhangxinxu.com/的URL

Ajax实现:注册时自动检测用户名是否存在

当光标离开用户名文本框时,自动检测当前用户名是否可以用于注册 1 <tr> 2 <td width="231px" align="center" valign="top" style="height: 26px">用户名</td> 3 <td valign="top" width="357px" align="left" st

LoonAndroid自动检测输入框 (转)

LoonAndroid框架,同时给我们提供了一套自动检测输入规则的工具,用起来很是方便,下面介绍一下这个东东的使用方法(注意,该说明是基于项目已经集成了LoonAndroid框架而言,如果您未集成该框架,请先按照相关说明集成该框架而后方能使用): 1.Validator 验证器类 ①实例化: Validator validator = new Validator(this): ②设置监听回调:validator.setValidationListener(...) 其中监听接口为:Validat

LoonAndroid自动检测输入框 --- Author: rose &amp;&amp; [email&#160;protected]

LoonAndroid框架,同时给我们提供了一套自动检测输入规则的工具,用起来很是方便,下面介绍一下这个东东的使用方法(注意,该说明是基于项目已经集成了LoonAndroid框架而言,如果您未集成该框架,请先按照相关说明集成该框架而后方能使用): 1.Validator 验证器类 ①实例化: Validator validator = new Validator(this): ②设置监听回调:validator.setValidationListener(...) 其中监听接口为:Validat

iOS程序自动检测更新的实现

本文转载至 http://blog.csdn.net/davidsph/article/details/8931718 App Store自动更新itunes 之前项目需要用到app自动更新的功能,现将实现方案分享出来.iOS程序自动提示更新的实现方案大致分为两种:第一种,自己服务器提供一个接口,告知相关app的当前版本,是否需要更新,以及更新的地址等信息 .第二种,就是利用苹果的appstore 提供的相关api进行查询更新. 由于此前没有找到iOS程序更新的方法,就用了第一种方式,但后来发现

网络安全的自动检测与预警

近日,两办发布<关于促进移动互联网健康有序发展的意见>,大快人心.按照<意见>的要求,必须清除网络不良信息,保证网络健康有序发展. 据报道,每年国内需要清除十多亿条不良信息,耗费大量人力财力.因此,研究网络安全的自动检测与预警技术十分必要. 2016年12月8日,老翁发表科普博文,题为"80老翁谈人生(279):IBM沃森系统对我们的启示".文章指出,IBM沃森系统是一种极其有效的自然语言处理系统,可以用于网络安全的自动检测与预警(国外已经实现),节省人力物力,