windows系统管理员的python工具

WinSys-3.x的Python项目详细描述


===
winsys
==


enter winsys:the python windows administrator's toolkit.一个具有一致方法的模块集合,包装pywin32已经公开的windows api调用,添加一些cTypes,并给它们一种pythonic的感觉。这里没有什么是您不能用
10分钟和pywin32和sdk文档的副本来完成的。但都已经在这里了,
并且有一种更顽皮的感觉。

总是允许更复杂的场景
*将所有常量放在一个位置,根据它们的api用法对它们进行分组
*在可用的地方使用pywin32功能,在需要的地方使用ctype进行补充
*假设python的最新版本(至少2.5)
*充分利用上下文管理器(带语句)
*让每个对象能够干净地转储其内容及其子对象的内容
*保持对象方法,但提供方便的模块级函数
*对于类具有有用的工厂函数,可靠地接受字符串或对象参数

common features
----


winsys子类中的大多数对象都是:类:`core.\winsys object`类,它提供合理的默认值并定义常见功能,如转储函数。
以下特性在许多模块中都很常见:

pythonic命名
~~~~~~~~~~~~~~~~~~~~~

这有点争议,但在python社区中广泛采用的“带下划线的小写”约定之后,始终使用相同的命名约定
。最普遍的例外是:mod:`constants`模块中的
,在该模块中,windows常量用下划线``名称保留其
``大写'u。


许多功能已经公开为模块级的便利功能。因此,例如,在:mod:`fs`模块中,:class:`fs.file`
类提供了一个:meth:`fs.file.copy`方法,但在模块级别上的功能与:func:`fs.copy`相同。那样的话,您不必为了一个操作而实例化一个或多个对象。


factory函数
~~~~~~~~~~~~~~~~~~~~~~~~~~


大多数类都有一个相应的factory函数(通常小写字母为
相同的名称),该函数试图在
其参数是什么时更容易接受,并将它们转换为类的
自己的``````` init``方法需要什么。例如,类:`Br/>初始化器期望Pysid结构具有对应的:FUNC:‘主体’BR/>函数,它将取一个SID或一个用户或组名或没有或现有的
:类:“主体”对象。
BU/>转储
~~~~BR/> BR/> BR/>派生的每一个对象:“Cyr.ViSysObjor”有一个BR/>是转储方法。用于显示其内部结构,可能是递归的,其中
一些结构本身就是winsys对象。这是为了更方便地在解释器中特别使用,例如从文件加载的安全结构。


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

在可能和有意义的情况下,使用了惰性迭代器,通常由生成器实现。这始于:mod:`fs`模块,其中
查询了数千个文件以获取信息,但通常在包中采用


context managers
~~~~~~~~~~~~~~~~~~~

ED,通过BrutiLB上下文管理器的BR/>或通过“`y-Enthux``”和''``ExtItI``'方法定义一个对象为BR/>它自己的上下文管理器。
上下文管理对象的例子包括:类:“IPC.MySturt”和
:类:“Security。Security”对象。修饰函数的示例包括:func:`security.change\u privileges`和:func:`security.impersonate`函数。

to do
----


windows api是巨大的;即使pywin32所公开的
数量也远远超过了我当前的需要和我可以支配的时间。这个包的实现很大程度上是由windows系统管理员在日常工作中的特殊需求驱动的。我的目的是以类似的方式包装windows功能,但是如果有人有特殊的需求,或者可以提供附加功能,让我们来了解一下。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Java例外。Lang.Stringindexoutofboundsexception索引超出范围(0)   java Spring引导Freemarker从2.2.0升级失败   重构Java反模式名称?包含对象的对象包含。。。等   用java处理JDBC可能出现的死锁的最佳方法   java无法访问主线程上的数据库,因为它可能会在很长一段时间内锁定UI   java如何将固定大小的画布包装在边框窗格中的滚动窗格居中?   java解析xsd文件后得到空结果   在html页面中表示XML文件的java   socketjava对象流   sql Java越界异常数据库   JavaJBoss7.1.1不会在Mavericks上启动   Twincat ADS事件驱动读取在一段时间后停止工作(Java)   java MyBatis使用生成的ID插入所有   Mojave上缺少MacOS Java控制面板   JavaGuice:如果多次注入相同的依赖项,是否注入了该依赖项的相同实例?