Python编程案例,Windows中实现不依赖账户登录的开
分类:pc28.am神测网

平时景况下,踏向Windows分界面从前都有一个登陆进程,怎么样在报到前让系统实行脚本呢?上边介绍一种办法。

Windows中完成不依靠账户登陆的开机运维程序,不正视账

在Windows中过多的职务,大家期望能够在Windows 运行之后自动运转。举例,公司有个订饭系统,基本每日都急需报到去订饭,于是写三个本子达成全自动订饭。不过你的计算机每日要关机,当然不指望开机后还索要手动运维那一个订饭脚本了。于是此时大家要将其这种本子完毕为开机自动运营脚本。
但要注意本文要讲的开机运维的前后相继,是在顾客还尚无登入的情形下促成运转的。换句话说,本文描述的开机运行的程序运维在Session 0中 主要介绍了3中方法, 大家能够选拔妥贴的措施去落到实处。

第十二章 卓殊和错误管理 ||| 附录B 七个常用Python管理职分

自家一向利用firefox和thunderbird作为WWW浏览器和电子邮件客商端,在开班利用openSUSE从此以往,鲜明是期待把那四个软件晋级到新型版本的。即便不肯定非要最新版本,但作者更期望多询问部分在Linux软件到底是怎么设置和安插的。猛然间好像回到了一九九七年协和刚买回新PC学习 Win98使用的那段日子。

1.开荒组战术,在Run(运转)中输入GREDIT.MSC,点击确认。

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


OK,言归正传。

图片 1

Windows Startup Script

依照如下步骤:

  1. 开采本地的组战略管理,运维命令gpedit
    2. 然后每家每户展开Computer Configuration->Windows Settings->Scripts-> Startup, 在Startup中配置须要开机运营的剧本可能程序。
    在机械中的配置,大家都尽心竭力的冀望自动化,于是希望因而脚本来完毕这么些动作。可惜未有CMD 命令能够直接行使这种措施增多运行程序,后来博主寻找了一部分方式,有经过直接修改注册表的、也可能有通过vb脚本去贯彻的,但这么些情势个人认为还远远不够直接,简单。
    于是博主找到了接下去要说的必定要经过的道路,通过Windows定期职务管理器。

大家就要本章介绍以下案例:

可以到 下载那多个软件的Linux下的新星版本,都以tar.gz格式的二进制文件,直接解压就足以运作,解压缩没怎么好讲的。

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"
  • 透过命令行实行Python脚本
  • 使用sys.argv[]抓获命令行输入参数
  • 将Python脚本加多到批管理文件
  • 创造义务安顿

shell> tar zxvf firefox-2.0.0.3.tar.gz
shell> tar zxvf thunderbird-2.0b2.tar.gz

图片 2


那边要留心的是,firefox和thunderbird的“施行文书”都以其解压后主目录中的脚本文件,文件名分别是firefox和thunderbird。

3.在左侧双击Stratup,出现如图弹窗,可在此增加cmd或许PowerShell脚本。

引言

Python脚本不仅能够在ArcGIS运维条件外以单独脚本的款型来运营,也得以在ArcGIS运转碰着内以脚本工具的样式来运作。三种办法都有各自的得失。到最近为止,全体的本子都以在ArcGIS情状中以脚本工具格局或在Python开荒景况IDLE以及ArcGIS内的Python窗口来推行。可是,Python脚本同样可以经过Windows操作系统命令涨势势来举办。这种施行Python脚本的法子对于制订脚本施行任务陈设以来是卓殊有效的。制订脚本实施职责安插有多少个地点的原由,一是广大地理管理脚本的运作需求开支非常短日子一般都是布置在非工时来进行。其它,有局地剧本要求定时定时(每一日,每一周乃至每月)推行,不经常候也是出于成效考虑。在本章中,你将学习怎么样通过命令行来实践Python脚本,将脚本增添到批管理文件中以及在钦定时期来举办脚本。需求留心一点,由于代码中必要调用arcpy模块,全体通过的命令行来进行的脚本还是供给猎取ArcGIS桌面软件的准予。

本人的桌面使用的是KDE,接下去本身讲一下怎么创立桌面火速格局。

图片 3

透过命令行推行Python脚本

到近些日子停止,本书中有着的Python脚本要么在ArcGIS情况中以脚本工具情势进行,要么在Python开辟情况中推行。Windows命令行为您提供了另外一种运营Python脚本的主意。命令提示窗口首要以批管理公事或职分布署的秘技来施行脚本。

一、thunderbird

4.点击确认

Getting ready

在命令提示窗口中进行Python地理管理脚本有八个地点的优势。那个本子能够配备在悠闲时间试行以获得越来越高的成效,同期也可能有助于利用Python自带的错误管理和调度功效来打开调节和测验代码。
在本案例中,你将学习怎么着选用Windows命令提示符来运转Python脚本。你需求得到管理员权限来完花费案例,因此你恐怕要求联系音讯技能辅助部门来修改权限。

1、在桌面上点击鼠标右键,在弹出的菜单中选用“Create New -> Link to Appliacation...”。
2、在页签“Greneral”中的文本输入框内设置快速情势的名字,如“Thunder伯德”。
3、点击输入框侧面的齿轮状按键(图标),弹出图标设置窗口,采取单选按键“other icons”,点击由disable变为enable状态的按键“Browse...”,选取“/usr/local/thunderbird2/icons/mozicon50.xpm”Logo文件,点击开关“open”再次回到前一窗口。
4、在页签“Application”中的“Command”文本输入框内,填写thunderbird奉行脚本的百分百径名,如 “/usr/local/thunderbird2/thunderbird”。(注意,无需引号,若是由此文件浏览窗口选拔程序,会自行加多上半角双引号)
5、点击开关“OK”完毕安装并关闭窗口。

重启,在后一次报到Windows界前面,系统会活动试行所增加的台本。

How to do it...

遵从以下步骤来学习怎么样通过Windows命令提醒符来奉行脚本:
1.Windows中点击开班|全体程序|附属类小部件|命令提醒符
(Start|All Programs|Accessories|Command Prompt)
,弹出三个像样于下图的窗口:

图片 4

窗口中会突显当前目录。你的目录路线会有个别出入。大家来改换当前目录。
2.输入cd C:ArcpyBookAppendix1.
3.输入dir来查看该目录下的文书和子文件夹。你会看出只有二个可以称作ListFields.py的Python文件。

图片 5

4.你须要肯定Python解释器能够奉行。点击起来|全部程序|附属类小部件|系统工具|控制面板(Start|All Programs|Accessories|System Tools|Control Panel)

图片 6

5.点击系统与武威(System and Security)
6.点击系统(System)
7.点击高档系统安装(Advanced system settings)
8.在系统品质(System Properties)对话框中,如下图所示选拔高级(Advanced)选项卡,点击情状变量(Enviroment Variables)按钮:

图片 7

9.如约下图所示找到帕特h系统变量,然后点击编辑(Edit)按钮。

图片 8

10.查看C:Python27ArcGIS10.1索引字符串(依照个体景况修改路线)。若无找到该字符串,增多到最末尾。确认保障该路径前加多分号分隔符。现在当你在命令提示符中输入python后,系统就能招来Path系统变量中的每一个目录中找找八个可推行文件python.exe。

图片 9

11.点击确认(OK)按键关闭编写制定系统变量(Edit System Variable)对话框。
12.点击确认(OK)开关关闭情状变量(Enviroment Variables)对话框。
13.点击确认(OK)按键关闭系统天性(System Properties)对话框。
14.再次来到命令行提醒符窗口。
15.输入python ListFields.py。系统就能够运营ListFields.py剧本。等待一小会后,你会看到如下结果:

图片 10

好了,可以点击桌面上的神速方式看看是还是不是足以健康运维thunderbird程序了。

 

How it works...

案例中应用的ListFields.py脚本会列出Burglaries_2009.shp文本中的属性字段。职业空间路线和shapefile文件名称在剧本中都透过硬编码管理。输入python后输入脚本名称,在该案例中是ListFields.py,会触发python解释器来运作该脚本。在下二个案例中,你将学习怎么样将参数字传送递给脚本,那样就足以移除脚本中的硬编码来让剧本更灵活。

二、firefox

使用sys.argv[]破获命令行输入参数

本子中不利用硬编码的不二等秘书技来内定数量集路线,脚本通过接受命令提醒符中输入的参数来进行拍卖义务,那将使得脚本更具有灵活性。这么些输入参数能够应用Python中的sys.argv[]对象来捕获。

诚如景色KDE或GNOME都会默许安装firefox,因而桌面上或程序菜单中恐怕已经有firefox的飞快格局了。
那么大家就介绍一下怎么着更动现成的迅速形式。

Getting ready

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

图片 11

每三个参数都用空格隔断。那一个参数都保留在一个sys.argv[]的列表对象中。使用索引值0来引用sys.argv[]列表中的第三个要素,即脚本名称。在此案例中脚本名为做ListFields.py。依次使用递增的整数索引值来援引后续的因素。由此,第3个参数(C:ArcpyBookdata)保存在sys.argv[1]中,第1个参数(Burglaries.shp)保存在sys.argv[2]中。每一个sys.argv[]列表对象中的参数都足以在地理管理脚本中获得并应用。在本案例中,你供给修改ListFields.py剧本文件来接受命令行输入的参数。

1、确认当前急忙格局指向的firefox实行脚本

How to do it...

遵照以下步骤来创制三个行使sys.argv[]来接受命令行中输入的参数的剧本:
1.在IDLE中打开C:ArcpyBookAppendix1ListFields.py文件。
2.导入sys模块:

import arcpy,sys

3.创建三个变量来保存工作空间参数:

wkspace = sys.argv[1]

4.创设多个变量来保存要素类参数:

fc = sys.argv[2]

5.翻新设置工作空间路线以及调用ListFields()函数的连带代码:

arcpy.env.workspace = wkspace
fields = arcpy.ListFields(fc)

完整代码如下:

imprt arcpy,sys
wkspace = sys.argv[1]
fc = sys.argv[2]
try:
    arcpy.env.workspace = wkspace
    fields = arcpy.ListFields(fc)
    for fld in fields:
        print fld.name
except:
    print arcpy.GetMessages()

6.封存脚本。
7.开采命令提醒符窗口,更动当前目录至C:ArcpyBookAppendix1
8.在指令提示符窗口中,输入以下命令后按下Enter键:

python ListFields.py C:ArcpyBookdata Burglaries_2009.shp

9.您会再度会见Burglaries.shp文本中属性字段的内部原因新闻。分歧之处在于您的脚本不再须求硬编码工作空间路线和要素类名称。脚本今后得以列出任何要素类的习性字段。

在firefox神速情势的Properties窗口中的Application页签中的Command文本输入框内填写的正是firefox的实践脚本。一般情形下它的值是“firefox %u”,那表明它试行了系统暗中认可推行文书路径下的名称叫firefox的实施脚本。

How it works...

sys模块中蕴含了四个argv[]的列表对象,该目的用于保存在命令行形式下实行Python脚本的输入参数。列表中的第二个元素是本子名称。因而,在此案例中sys.argv[0]包含了ListFields.py文件。专门的学问空间和因素类参数分别保存在sys.argv[1]sys.argv[2]中。这个输入参数赋值给变量在本子中使用。

shell> which firefox
/usr/bin/firefox

加多Python脚本至批管理文件

假若要在钦定的时间施行Python脚本,你须求创建二个满含一个或五个剧本文件,须求情况下还是能够包含操作系统命令的批管理公事。批管理公事可增加到Windows系统的天职业安全健康插中在钦命的光阴内实施。

透过which命令找到firefox文件的具体地方,接下去的办事正是冯谖三窟了。

Getting ready

批管理公事是一个文书文件,该公文中蕴藏有进行脚本的一声令下行代码或操作系统试行命令。批管理公事的扩张名称叫.bat,Windows将其正是可实行的公文。由于批管理文件中只包含有指令行代码,因而得以行使其它多少个文本编辑器来编排,就算如此大家依旧建议你利用像记事本(Notepad)这样回顾的公文编辑器,可防止止包罗部分不可知的特殊字符,而那类字符或然会在Microsoft Word中冒出。在本案例中,你将创设二个简便的批管理文件来稳固至包蕴有ListFields.py文本的目录中,并实践该脚本文件。

shell> ls -l /usr/bin/firefox
lrwxrwxrwx 1 root root 26 Apr 1 02:15 /usr/bin/firefox -> /usr/lib/firefox/firefox
shell> rm /usr/bin/firefox
shell> ln -s /usr/local/firefox2.0.0.3/firefox /usr/bin/firefox

How to do it...

依照以下步骤来创立多少个批处理公事:
1.开发记事本(Notepad)。
2.增添以下文本:

cd /d C:ArcpyBookAppendix1
python ListFields.py C:ArcpyBookdata Burglaries_2009.shp

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

好了,点击原来的firefox快捷格局看看是否能够正常运行firefox程序。

How it works...

Windows系统将批管理文件视为可实践文件,由此双击批管理公事会自动掸出二个新的命令提示符窗口来实行批管理文件中的命令行代码。全部的print言辞都会写入到窗口中。代码推行完结后,命令提示符窗口会自动关闭。如若你想追踪输出结果,你能够将结果写入到一个日志文件中。

三、Trouble Shooting

There's more...

批管理公事中得以富含变量,循环语句,注释以及条件逻辑语句。这一个作用已经超(英文名:jīng chāo)过本书范围。可是,倘使你供给给单位编写制定多量本子的话,依旧值得花些时间来多明白批管理文件的学识。更多关于关于批管理公事的消息,你能够在Wikipedia中查看。

一旦程序无法健康施行,试试以下操作。

创造义务布置

批管理文件创造实现后就足以在Windows任务布置程序中开创任务安顿,在指定时期来机关实践管理职责。

1、设置科学的权位和owner,保障程序是可实践的,况兼能够被方今顾客施行。
2、确认link精确精确。
3、直接运营实际上地方的施行顺序,看是否可以寻常运作。
4、注销重复登入KDE,再运转试试。

Getting ready

大多地理处理脚本都以老大耗费时间的,最棒是安插在非工时内施行,那样不只能足够利用系统财富也足以令你将精力放在其余任务中。在该案例中,你将学习怎样使用Windows任务铺排程序来设置举行批管理公事的任务计划。

四、thunderbird使用的一个特种表明

How to do it...

遵从以下步骤在Windows职务安插程序中装置批管理文件的职分布署。
1.点击起来|全体程序|附属类小部件|系统工具|调节面板|管理工科具
(Start|All Programs|Accessories|System Tools|Control Panel|Administrative Tools)
选择义务布署(Task Scheduler)开发职务安顿程序。职责安插程序分界面如下图所示:

图片 12

2.选择操作(Action)菜单项后选用创建基本任务(Create Basic Task)弹出开创基本职分向导(Create Basic Task Wizard)对话框。
3.设置职责名称。在此案例中大家将职务任职资格设置为List Fields from a Feature Class。点击下一步(Next)

图片 13

4.抉择职务实行时的触发器。平日选取基于时间触发器,可是也足以安装为另外门类的触发器,举例客户登陆时或计算机运维时等。在该案例中,大家采用每天(Daily)。点击下一步(Next)

图片 14

5.抉择三个最初的日龙时间以及奉行周期。如下图所示,笔者选择起来时间为二零一三年5月二十23日深夜1点,每隔1天实践二次。因而天天深夜1点都会实施该任务。点击下一步(Next)

图片 15

6.在操作中选择开行程序(Start a program)

图片 16

7.找到您的批管理文件并加上参数。这里须要证实一下,我们能够挑选直接张开前多个案例创制的bat批管理公事后平昔点击下一步(Next),也足以如下图所示,导入创造的python脚本文件,在加多参数(Add argument)中输入C:ArcpyBookdata Burglaries_2009.shp后点击下一步(Next)

图片 17

8.点击完成(Finish)丰硕义务职务布署中。

图片 18

9.职务现在来得在运动职分列表中:

图片 19

小编把Windows下的邮件帐号数据目录拷贝到Linux下直接动用,为了保证那样能够顺遂推行,把目录及其间具备文件设为了777权力。

How it works...

Windows职责安顿程序会追踪全数的位移职分并会在预约义触发器触发时来执行这个义务。在此案例中,我们布置职责在天天早晨1点执行。也就表示天天早晨1点批管理公事将被触发,同一时候成立职分时内定的参数会传递给脚本。使用职责布署程序能够在不须求GIS职员的干涉的非工时自动实行地理处理任务,那将给你带来更多灵活性并加强工效。你还足以将Python脚本中的错误记录到四个日志文件中来查阅难题的详细新闻。


第十二章 卓殊和错误管理 ||| 附录B 四个常用Python管理任务

陈设好邮件账号后,收信,一切平日。

但忽然开掘filter报错,说找到不filter中活动邮件所到的靶子文件夹,分析应该是thunderbird在msgFilterRules.dat中写入了相对路线况且是以Windows路线格式写的诱致的这么些难点。

于是再一次解压邮件目录,运维thunderbird后比不上时收邮件,先把具备filter中必要活动邮件地方的靶子文件夹重新钦点三回,OK,难题搞定。 

Thunderbird 的事无巨细介绍:请点这里
Thunderbird 的下载地址:请点这里

连带阅读:

Red Hat Enterprise 6.3手动安装Thunderbird http://www.linuxidc.com/Linux/2012-10/73163.htm

通过apt-get在Debian Linux下安装FireFox和ThunderBird http://www.linuxidc.com/Linux/2012-07/66132.htm

Ubuntu动用Thunderbird方法指南[图文] http://www.linuxidc.com/Linux/2011-01/31453.htm

在Ubuntu上安装Thunderbird 3及中文突显设置 http://www.linuxidc.com/Linux/2011-01/31439.htm

Ubuntu 情状使用 Evolution 与 Thunderbird 收发邮件 http://www.linuxidc.com/Linux/2010-04/25679.htm

图片 20

本文由pc28.am发布于pc28.am神测网,转载请注明出处:Python编程案例,Windows中实现不依赖账户登录的开

上一篇:没有了 下一篇:没有了
猜你喜欢
热门排行
精彩图文