ArcGIS Python编程案例(13)-自动执行Python脚本

日常景况下,进入Windows界面以前都有一个登录进程,怎么着在签到前让系统举办脚本呢?下边介绍一种办法。

Windows Startup Script

依据如下步骤:

  1. 开辟当地的组策略管理,运行命令gpedit
    2.
    然后挨家挨户打开Computer Configuration->Windows Settings->Scripts->
    Startup, 在Startup中配置须要开机启动的台本或者程序。
    在机器中的配置,我们都尽心尽力的盼望自动化,于是希望由此脚本来完毕那么些动作。可惜没有CMD
    命令可以直接行使那种艺术添加启动程序,后来博主搜索了一些方法,有经过平昔改动注册表的、也有经过vb脚本去落实的,但这么些格局个人认为还不够直接,简单。
    于是博主找到了接下去要说的办法,通过Windows定时职责管理器。
How it works…

Windows系统将批处理文件视为可执行文件,由此双击批处理公事会自行弹出一个新的命令提醒符窗口来推行批处理文件中的命令行代码。所有的print言语都会写入到窗口中。代码执行达成后,命令提醒符窗口会自动关闭。假使你想跟踪输出结果,你可以将结果写入到一个日记文件中。

图片 1

2.顺序点击Computer Configuration -> Windows Settings ->
Scripts(Startup/Shutdown)

Windows Schedule Task

Windows定时职分管理器,提供了强硬的功效:可以定时的履行职责,除了按照时间去触发定时使命,其还提供了开机启动触及程序运行的法力,你可以通过图形界面的法门安排,也可以经过命令形式:

  • 逐条打开Control Panel->Administrative Tools->Task Scheduler,然后再里面新建自己的天职。首要注意以下两点:
    • 职分运行的账号选成”System”
    • 触发器中,选拔At Startup触发器
  • 利用如下命令行:

schtasks /create /TN "TASK_NAME" /RU SYSTEM /SC ONSTART /TR "TASK_PROGRAM"
There’s more…

批处理文件中得以涵盖变量,循环语句,注释以及条件逻辑语句。这个成效已经超先生越本书范围。但是,如若您需求给单位编制大批量本子的话,如故值得花些时间来多领会批处理公事的文化。更加多关于关于批处理文件的新闻,你可以在Wikipedia中查看。

1、设置科学的权能和owner,保障程序是可实施的,并且可以被当下用户执行。
2、确认link正确无误。
3、直接运行实际上地点的执行顺序,看是还是不是足以健康运转。
4、注销重复登录KDE,再运行试试。

4.点击确认

Windows Service

当Windows
启动的时候,还尚无登录账号的时候,此时Windows中装置为auto状态的Service将会在Session 0中运作。可以依据如下步骤去落成Windows Service:

  1. 若果还从未落成过Windows Service 程序的校友,能够参照那篇文章《Simple
    Windows Service in C++》去得以完毕。
  2. 透过命令行创立Service, 紧要注意start= auto安装Service为开机启动。

    sc create “SERVICE_NAME” binpath= “SERVICE_PROGRAM” displayname= “SERVICE_DESCRIPTION” start= auto

添加Python脚本至批处理公事

若是要在指定的光阴实施Python脚本,你必要创制一个包含一个或多少个剧本文件,必要意况下还是能够涵盖操作系统命令的批处理公事。批处理公事可添加到Windows系统的职务布置中在指定的岁月内实施。

但出人意料意识filter报错,说找到不filter中活动邮件所到的对象文件夹,分析应该是thunderbird在msgFilterRules.dat中写入了相对路径而且是以Windows路径格式写的造成的那些难点。

图片 2

Windows中落到实处不信赖账户登录的开机启动程序,不借助账

在Windows中过多的职责,大家希望可以在Windows
启动未来自动运行。举个例子,公司有个订饭系统,基本每日都急需报到去订饭,于是写一个本子完成全自动订饭。但是您的电脑每一日要关机,当然不期望开机后还亟需手动运行那几个订饭脚本了。于是此时大家要将其那种本子完毕为开机自动启动脚本。
但要注意本文要讲的开机启动的次序,是在用户还没有登录的景色下促成启动的。换句话说,本文描述的开机启动的程序运行在Session
0中
首要介绍了3中艺术, 大家可以选拔适宜的方法去落成。

Getting ready

Python中的sys.argv[]目的允许脚本在实施进程中接受命令行传递的输入参数。如下图所示的例证很好地申明了这一做事体制:

图片 3

每一个参数都用空格隔开。这个参数都保存在一个sys.argv[]的列表对象中。使用索引值0来引用sys.argv[]列表中的首个元素,即脚本名称。在此案例中脚本名叫做ListFields.py。依次使用递增的平头索引值来引用后续的因素。因而,首个参数(C:\ArcpyBook\data)保存在sys.argv[1]中,第一个参数(Burglaries.shp)保存在sys.argv[2]中。每一个sys.argv[]列表对象中的参数都足以在地理处理脚本中拿走并行使。在本案例中,你需求修改ListFields.py剧本文件来接受命令行输入的参数。

本人的桌面使用的是KDE,接下去自己讲一下什么样创立桌面飞快格局。

重启,在下次登录Windows界面前,系统会自动执行所增加的剧本。

How to do it…

按照以下步骤来成立一个批处理公事:
1.开辟记事本(Notepad)。
2.添加以下文本:

cd /d C:\ArcpyBook\Appendix1
python ListFields.py C:\ArcpyBook\data Burglaries_2009.shp

3.将文件保留为桌面上的ListFields.bat文件。确认当选封存文件类型
(Save as Type)
中的下拉列表中的负有文件(All
Files)
,否则文本会保存为ListFields.bat.txt文件。
4.双击桌面中的ListFields.bat文本来执行命令代码。
5.在履行进程中会弹出一个命令提醒符窗口。执行到位后,该窗口会自动关闭。

二、firefox

1.开辟组策略,在Run(运行)中输入GREDIT.MSC,点击确认。

第十二章 卓殊和错误处理
||| 附录B
三个常用Python处理职责

本身把Windows下的邮件帐号数据目录拷贝到Linux下直接行使,为了确保那样可以万事大吉推行,把目录及里面具有文件设为了777权力。

 

创立任务布置

批处理文件创立达成后就可以在Windows职分安插程序中开创职责安插,在指定时间来机关执行拍卖义务。

三、Trouble Shooting

图片 4

How it works…

Windows职务布置程序会追踪所有的活动职分并会在预约义触发器触发时来施行这个职分。在此案例中,我们布置任务在每天凌晨1点执行。也就表示天天凌晨1点批处理公事将被触发,同时制造任务时指定的参数会传送给脚本。使用任务安顿程序可以在不要求GIS人士的干预的非工作时间自动执行地理处理义务,那将给你带来越多灵活性并压实工作效能。你还足以将Python脚本中的错误记录到一个日志文件中来查看难点的详细音讯。


第十二章 极度和错误处理
||| 附录B
三个常用Python处理职分

于是再一次解压邮件目录,启动thunderbird后不及时收邮件,先把具有filter中需要活动邮件地方的对象文件夹重新指定三次,OK,难点一蹴而就。 

图片 5

我们将在本章介绍以下案例:

OK,言归正传。

发表评论

电子邮件地址不会被公开。 必填项已用*标注