python脚本开机启动代码详解

python脚本开机启动代码详解,第1张

  Python是一种面向对象的解释型计算机程序设计语言。Python是纯粹的自由软件, 源代码和解释器CPython遵循 GPL(GNU General Public License)协议[2] 。Python语法简洁清晰,特色之一是强制用空白符(white space)作为语句缩进。

  Python类型:

  Python采用动态类型系统。在编译的时候,Python不会检查对象是否拥有被调用的方法或者属性,而是直至运行时,才做出检查。所以 *** 作对象时可能会抛出异常。不过,虽然Python采用动态类型系统,它同时也是强类型的。Python禁止没有明确定义的 *** 作,比如数字加字符串。

  与其它面向对象语言一样,Python允许程序员定义类型。构造一个对象只需要像函数一样调用类型即可,比如,对于前面定义的Fish类型,使用Fish()。类型本身也是特殊类型type的对象(type类型本身也是type对象),这种特殊的设计允许对类型进行反射编程。

  Python内置丰富的数据类型。与JavaC++++相比,这些数据类型有效地减少代码的长度。下面这个列表简要地描述了Python内置数据类型(适用于Python 3.x):

  除了各种数据类型,Python语言还用类型来表示函数、模块、类型本身、对象的方法、编译后的Python代码、运行时信息等等。因此,Python具备很强的动态性。

  Python应用:

  系统编程:提供API(ApplicaTIon Programming Interface应用程序编程接口),能方便进行系统维护和管理,Linux下标志性语言之一,是很多系统管理员理想的编程工具。

  图形处理:有PIL、Tkinter等图形库支持,能方便进行图形处理。

  数学处理:NumPy扩展提供大量与许多标准数学库的接口。

  文本处理:python提供的re模块能支持正则表达式,还提供SGML,XML分析模块,许多程序员利用python进行XML程序的开发。

  数据库编程:程序员可通过遵循Python DB-API(数据库应用程序编程接口)规范的模块与Microsoft SQL Server,Oracle,Sybase,DB2,MySQL、SQLite等数据库通信。python自带有一个Gadfly模块,提供了一个完整的SQL环境。

  网络编程:提供丰富的模块支持sockets编程,能方便快速地开发分布式应用程序。很多大规模软件开发计划例如Zope,Mnet 及BitTorrent. Google都在广泛地使用它。

  Web编程:应用的开发语言,支持最新的XML技术。

  多媒体应用:Python的PyOpenGL模块封装了“OpenGL应用程序编程接口”,能进行二维和三维图像处理。PyGame模块可用于编写游戏软件。

  pymo引擎:PYMO全称为python memories off,是一款运行于Symbian S60V3,Symbian3,S60V5, Symbian3, Android系统上的AVG游戏引擎。因其基于python2.0平台开发,并且适用于创建秋之回忆(memories off)风格的AVG游戏,故命名为PYMO。

  黑客编程:python有一个hack的库,内置了你熟悉的或不熟悉的函数,但是缺少成就感。

  Python中的基本运算:

  就像你预料的那样,你能够直接进行算术 *** 作(你可以在你的所有运算中使用足够多的括号!),还可以轻松地使用 Python 拼接字符串。

  你还可以将运算结果赋给一个变量,然后在屏幕上显示它。Python 有一个叫做拼接 (concatenaTIon) 的实用功能——给 print 函数提供一串用逗号分隔的变量和/或字符串,它会返回一个由你刚才提供的变量依序构成的句子:

  》》》 a = 5

  》》》 b = 8

  》》》 x = b / a

  》》》 x

  1.6

  》》》 print(b, “divided by”, a, “equals”, x)

  注意,你可以将不同类型的变量(数字,字符串,布尔符号等等)混合在一起。当你将一个值赋给一个变量后,你可以随后更改它的类型,不会有任何问题(因此,Python 被称为动态类型语言)。

  如果你尝试在静态类型语言中(如 Java 或 C#)做这件事,它将抛出一个错误。

python脚本开机启动代码详解,python脚本开机启动代码详解,第2张

  python脚本开机自启动代码:   一、开始菜单启动项实现

  用户必须登录才可执行。

  测试脚本(python代码):

  代码如下:

  import TIme

  fout = open(‘e:\\1.txt’,‘w’)

  while True:

  tmp = ‘%d-%02d-%02d %02d:%02d:%02d \r\n’ % TIme.localtime()[0:6]

  print tmp

  fout.write(tmp)

  fout.flush()

  time.sleep(5)

  1、常规 *** 作

  1.1 创建快捷方式;

python脚本开机启动代码详解,python脚本开机启动代码详解,第3张

  1.2 将创建的快捷方式放入开始菜单启动项;

python脚本开机启动代码详解,python脚本开机启动代码详解,第4张

  1.3、开机验证;

python脚本开机启动代码详解,python脚本开机启动代码详解,第5张

  2、隐藏命令行窗口启动

  上述 *** 作方法有命令行窗口,有些场合感觉不太实用,我们可以通过以下两种方式去掉命令行窗口。

  2.1 将python脚本的文件扩展名改为“.pyw”

python脚本开机启动代码详解,python脚本开机启动代码详解,第6张

  其它 *** 作和上述过程类似,这里不再赘述。

  2.2 通过vbs之类的脚本启动

  vbs代码如下:

  Set ws = CreateObject(“Wscript.Shell”)

  ws.run “cmd /c E:\test1.py”,vbhide

  路径根据具体情况进行配置,其它的和之前的 *** 作类似,这里不再赘述。

  如果不想用快捷方式的话,把脚本直接放入启动项也可以。

  附:

  配置账户自动登录

  通过开始菜单启动项来实现的话,必须进行相应保证用户登录系统,这里介绍一种账户自动登录的方法。

  a、 在运行框中键入“Rundll32 netplwiz.dll,UsersRunDll”;

python脚本开机启动代码详解,python脚本开机启动代码详解,第7张

  b、 打开用户账户界面,将“要使用本机,用户必须输入用户名和密码”前面的勾去掉,按”确定“后输入需要自动登录的用户名和密码;

python脚本开机启动代码详解,python脚本开机启动代码详解,第8张

  二、开机脚本

  不能用循环,最好配置超时时间。

  测试代码(python):

  代码如下:

  import time

  fout = open(‘e:\\1.txt’,‘w’)

  tmp = ‘%d-%02d-%02d %02d:%02d:%02d \r\n’ % time.localtime()[0:6]

  print tmp

  fout.write(tmp)

  fout.close()

  步骤如下:

  a、运行中输入gpedit.msc打开组策略编辑器;

  b、选择“计算机配置”=》“Windows 设置”=》“脚本”=》“启动”选项;

python脚本开机启动代码详解,python脚本开机启动代码详解,第9张

  c、选择脚本;

python脚本开机启动代码详解,python脚本开机启动代码详解,第10张

  d、配置脚本最长等待时间,路径为“计算机配置”=》“管理模版”=》“系统”=》“脚本”=》“组策略脚本的最长等待时间”;

python脚本开机启动代码详解,python脚本开机启动代码详解,第11张

  三、通过一个服务调用该脚本

  a、编写脚本启动服务serviceStartShell,代码如下(这里只列出main函数的代码):

  代码如下:

  int main(int argc,char* argv[])

  {

  Init();

  dwThreadID = GetCurrentThreadId();

  SERVICE_TABLE_ENTRY st[] =

  {

  { szServiceName, (LPSERVICE_MAIN_FUNCTION)ServiceMain },

  { NULL, NULL }

  };

  //printf(“argc = %d \n”,argc);

  if((4 == argc) && 0 == stricmp(argv[3],“/install”) )

  {

  Install(argv[1],argv[2]);

  writeReg(argv[1],argv[2]);

  }

  else if ((2 == argc) && 0 == stricmp(argv[1], “/uninstall”) )

  {

  Uninstall();

  }

  else

  {

  if (!StartServiceCtrlDispatcher(st))

  {

  //printf(“Register Service Main Function Error!”);

  }

  }

  return 0;

  }

  b、服务安装;

  代码如下:

  serviceStartShell.exe C:\Python27\python.exe e:\test1.py /install

  c、服务卸载;

  代码如下:

  serviceStartShell.exe /uninstall

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2598935.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-09
下一篇 2022-08-09

发表评论

登录后才能评论

评论列表(0条)

保存