Python--模块(Python简明教程)

Python调用驱动级按键--DD虚拟键盘 开发DNF连点功能时,常规的PyMouse PyKeyboard无效 猜测原因是DNF屏蔽了模拟信号 尝试使用驱动级按键 作者:石头三颗 链接:https://www.zhihu.com/question/42888871/answer/385506293 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 比如DD虚拟键盘虚拟鼠标 这个官方例子里就有p... 阅读详情
     
模块基本上就是一个包含了所有你定义的函数和变量的文件。为了在其他程序中重用模块,模块的文件名必须以.py为扩展名。

使用sys模块

$ cat using_sys.py 
#!/usr/bin/env python
# _*_ coding: utf-8 _*_
# wul@2013-02-18 16:58:54

import sys

print 'The command line arguments are:'
for i in sys.argv:
     print i

print '\n\nThe PYTHONPATH is', sys.path, '\n'

$ chmod +x using_sys.py 
$ ./using_sys.py we are arguments
The command line arguments are:
./using_sys.py
we
are
arguments


The PYTHONPATH is ['/home/users/wul/python', '/usr/lib/portage/pym', '/usr/lib64/python27.zip', '/usr/lib64/python2.7', '/usr/lib64/python2.7/plat-linux2', '/usr/lib64/python2.7/lib-tk', '/usr/lib64/python2.7/lib-old', '/usr/lib64/python2.7/lib-dynload', '/usr/lib64/python2.7/site-packages', '/usr/lib64/python2.7/site-packages/PIL', '/usr/lib64/portage/pym'] 
 
利用import语句输入sys模块

当Python执行import sys语句的时候,它在sys.path变量中所列目录中寻找sys.py模块。如果找到了这个文件,这个模块的主块中的语句将被运行,然后这个模块将能够被你使用 。注意,初始化过程仅在我们 第一次 输入模块的时候进行。另外,“sys”是“system”的缩写。

sys模块中的argv变量通过使用点号指明——sys.argv——这种方法的一个优势是这个名称不会与任何在你的程序中使用的argv变量冲突。另外,它也清晰地表明了这个名称是sys模块的一部分。

sys.argv变量是一个字符串的 列表

这里,当我们执行using_sys.py的时候,./运行using_sys.py,后面跟着的内容被作为参数传递给程序。Python为我们把它存储在sys.argv变量中。

记住,脚本的名称总是sys.argv列表的第一个参数。所以,在这里,'using_sys.py'是sys.argv[0]、'we'是sys.argv[1]、'are'是sys.argv[2]以及'arguments'是sys.argv[3]。注意,Python从0开始计数,而非从1开始。

sys.path包含输入模块的目录名列表。我们可以观察到sys.path的第一个字符串表示当前目录也是sys.path的一部分,这与PYTHONPATH环境变量是相同的。这意味着你可以直接输入位于当前目录的模块。否则,你得把你的模块放在sys.path所列的目录之一。

字节编译的文件

输入一个模块相对来说是一个比较费时的事情,所以Python做了一些技巧,以便使输入模块更加快一些。一种方法是创建 字节编译的文件 ,这些文件以.pyc作为扩展名。字节编译的文件与Python变换程序的中间状态有关。当你在下次从别的程序输入这个模块的时候,.pyc文件是十分有用的——它会快得多,因为一部分输入模块所需的处理已经完成了。另外,这些字节编译的文件也是与平台无关的。所以,现在你知道了那些.pyc文件事实上是什么了。

from ... import语句

如果你想要直接输入argv变量到你的程序中(避免在每次使用它时打sys.),那么你可以使用from sys import argv语句。如果你想要输入所有sys模块使用的名字,那么你可以使用from sys import *语句。这对于所有模块都适用。一般说来,应该避免使用from..import而使用import语句,因为这样可以使你的程序更加易读,也可以避免名称的冲突。

__name__

每个模块都有一个名称,在模块中可以通过语句来找出模块的名称。这在一个场合特别有用——就如前面所提到的,当一个模块被第一次输入的时候,这个模块的主 块将被运行。假如我们只想在程序本身被使用的时候运行主块,而在它被别的模块输入的时候不运行主块,我们该怎么做呢?这可以通过模块的__name__属性完成。

wul@ops-dev ~/python $ cat using_name.py
#!/usr/bin/env python
# _*_ coding: utf-8 _*_
# wul@2013-02-18 17:20:55

if __name__ == '__main__':
     print 'Thish program is being run by itself'
else:
     print 'I am being imported from another module'
wul@ops-dev ~/python $ ./using_name.py
Thish program is being run by itself
wul@ops-dev ~/python $ python
Python 2.7.3 (default, Jun 12 2012, 10:28:26)
[GCC 4.5.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import using_name
I am being imported from another module
>>> quit()
wul@ops-dev ~/python $

 每个Python模块都有它的__name__,如果它是'__main__',这说明这个模块被用户单独运行,我们可以进行相应的恰当操作。

创建自己的模块


dir()函数

你可以使用内建的dir函数来列出模块定义的标识符。标识符有函数、类和变量。
当你为dir()提供一个模块名的时候,它返回模块定义的名称列表。如果不提供参数,它返回当前模块中定义的名称列表。

wul@ops-dev ~/python $ python
Python 2.7.3 (default, Jun 12 2012, 10:28:26)
[GCC 4.5.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> dir(sys)
['__displayhook__', '__doc__', '__egginsert', '__excepthook__', '__name__', '__package__', '__plen', '__stderr__', '__stdin__', '__stdout__', '_clear_type_cache', '_current_frames', '_getframe', '_mercurial', 'api_version', 'argv', 'builtin_module_names', 'byteorder', 'call_tracing', 'callstats', 'copyright', 'displayhook', 'dont_write_bytecode', 'exc_clear', 'exc_info', 'exc_type', 'excepthook', 'exec_prefix', 'executable', 'exit', 'flags', 'float_info', 'float_repr_style', 'getcheckinterval', 'getdefaultencoding', 'getdlopenflags', 'getfilesystemencoding', 'getprofile', 'getrecursionlimit', 'getrefcount', 'getsizeof', 'gettrace', 'hexversion', 'long_info', 'maxint', 'maxsize', 'maxunicode', 'meta_path', 'modules', 'path', 'path_hooks', 'path_importer_cache', 'platform', 'prefix', 'ps1', 'ps2', 'py3kwarning', 'setcheckinterval', 'setdlopenflags', 'setprofile', 'setrecursionlimit', 'settrace', 'stderr', 'stdin', 'stdout', 'subversion', 'version', 'version_info', 'warnoptions']
>>> dir()  
['__builtins__', '__doc__', '__name__', '__package__', 'sys']
>>> a=5
>>> dir()
['__builtins__', '__doc__', '__name__', '__package__', 'a', 'sys']
>>> del a
>>> dir()
['__builtins__', '__doc__', '__name__', '__package__', 'sys']
>>>
Python实现基于DD驱动的键盘R键连发功能 本文介绍了使用Python实现基于DD驱动的键盘R键连发功能的技术方案。文章首先分析了驱动级模拟的必要性,指出传统方法在DirectInput游戏等场景下失效的问题。核心挑战在于区分物理按键和模拟按键以避免无限循环。解决方案采用DD驱动加载、物理按键监听、注入检测过滤和连发控制逻辑等模块,通过ctypes加载DD驱动DLL,利用Windows低级键盘钩子检测LLKHF_INJECTED标志位来过滤模拟事件。实现部分展示了DD键码映射、驱动加载和按键模拟的代码实现,为游戏开发和自动化测试提供了可靠的键盘连发功 阅读详情

相关推荐

DD94687.64.dll

DD虚拟键盘--------python模拟键盘输入密码(安全控件)硬件驱动链接库,本资源仅供学习交流,未经许可不得私自商用。

Python自动化测试之ddt数据驱动

我们在做自动化过程中常用的几种模式:1、关键字驱动,2、BDD行为驱动,3、数据驱动,其实对于数据驱动来说经常会有多种实现方式,今天小编给大家要讲的就是通过ddt实现数据驱动。

软件自动化测试技术交流、资源分享 594

python驱动模拟按键.py

驱动级别的模拟按键,需要先安装winio才可以运行。可以制作任何脚本

Python:设置Python解释器不生成字节码pyc文件

设置Python解释器不生成字节码pyc文件 设置不生成字节码文件 方式一:设置环境变量(最常用的) export PYTHONDONTWRITEBYTECODE=1 方式二:使用 -B参数 $ python -B test.py 方式三:在导入的地方写 import sys sys.dont_write_bytecode = True ...

西京刀客 2012

DD驱动级鼠键模块源码(.e)

注意: 1、核心DLL文件是第三方的,不是我写的; 2、模块是我自己写的,现在开源!

DD XOFT,Python驱动

使用Python驱动DD键盘,可以破解装有安全键盘的程序,控制输入

Python青少年简明教程:模块

Python青少年简明教程:模块

cnds123的专栏 428

dd驱动级键盘模拟模块源码和调用例程(tgp登陆源码)

资源介绍:。调用DD驱动,WIN10系统下可正常使用。资源作者:。BUG508。资源界面:。资源下载:。

《简明Python教程》之模块

标准库模块importimport syssys 模块,由于其是一个内置模块,因此 Python 知道应该在哪里找到它。 如果它不是一个已编译好的模块,即用 Python 编写的模块,那么 Python 解释器将从它的 sys.path 变量所提供的目录中进行搜索。如果找到了对应模块,则该模块中的语句将在开始运行,并能够为你所使用。在这里需要注意的是,初始化工作只需在我们第一次导入模块时完成。

qingmoshu的专栏 468

卷积码和Turbo码

通信原理相关博文目录:目录我们常在移动通信中遇到的卷积码就是一种非分组码,卷积码和信号处理中的卷积运算有关系吗?是不是就是信号处理中的卷积运算,先看看编码器的编码原理再说:下面是一个比较实用的卷积码编码器:它有三个移位寄存器D0,D1,D2和三个模2加法器,以及一个旋转开关组成,编码前,先将各级移位寄存器清零:现在假设输入的信息码元是1101:当输入的第一个码元为1时,三个模2加法器计算的结果都为...

Reborn Lee 2万+

超越界面设计:GUI Guider与LVGL在STM32F103上的系统集成与架构思考

本文探讨了GUI Guider与LVGL在STM32F103微控制器上的系统集成与架构设计,重点分析了工程模块化组织、内存管理优化、硬件驱动接口设计以及FreeRTOS多任务集成。针对STM32F103ZET6的资源限制,提供了实用的移植策略和性能优化方案,帮助开发者构建高效、可维护的嵌入式GUI系统。

j2k3l4的博客 922

Python简明教程之模块篇

Python简明教程之模块篇 什么是模块 定义:简单的说,在python中“.py”后缀的文件即模块,每一个独立的 py 文件,实际上都是一个模块。在模块中,我们不但可以直接存放变量,还能存放函数和类。 模块的调用 1)import语句 如果我们要调用的 py 文件名为“mokuai”,可以采用以下方法: (1)调用模块:import fengbian; (2)调用模块中的变量:fengbia...

hf_xiexiaoming的博客 516

Cesium+Three.js融合实战:从零构建GIS与BIM一体化大场景

本文详细介绍了Cesium与Three.js融合技术在GIS与BIM一体化大场景中的应用实践。通过坐标系转换、双引擎协同渲染等核心技术,实现宏观地理信息与微观建筑细节的完美结合,为智慧城市、数字孪生等项目提供高效解决方案。文章包含环境配置、性能优化等实战经验,助力开发者快速掌握三维可视化开发技巧。

weixin_42563415的博客 262

python3 简明教程 --模块

来源于菜鸟教程及实验楼-python3 简明教程 文章目录来源于菜鸟教程及实验楼-python3 简明教程python3模块1,import语句2,from ... import语句3,属性__name__:dir()函数4,包5,标准模块OS模块第三方:Requests模块 python3模块 Python 提供了一个办法,把这些定义存放在文件中,为一些脚本或者交互式的解释器实例使用,这个文件被...

Impt_gofly的博客 953

UG\NX二次开发 找不到指定的dlx文件(Specified Dlx file not found)

有群友问:用Ctrl+U运行的时候就报错,找不到指定的dlx文件Specified Dlx file not found。怎么处理。

王牌飞行员_里海的博客 1130

华为OD机试双机位C卷-组装新的数组(Py/Java/C/C++/Js/Go)

华为OD机试(机考)双机位C卷 【组装新的数组】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试 - 组装新的数组。

qq_45776114的博客 1145

简明python3教程_简明Python3教程 10.模块

简介现在你已经知道通过定义函数可以在你的程序中复用代码。但当你想在你编写的其他程序中复用大量函数怎么办呢?也许你可以猜到了,办法就是利用模块。有各种编写模块的方式,但最简单的方式是创建一个以.py为后缀的文件并包含所需的函数与变量。另一种方式是以编写python解释器的本地语言编写模块。例如C语言编写的模块被编译后可供运行于标准python解释器上的python代码使用。模块可以被其它程序导入以使...

weixin_39569051的博客 144

SAP FICO 金税系统-金税->SAP接口功能开发说明书(接口字段)

SAP FICO 金税系统-金税->SAP接口功能开发说明书(接口字段)

我好像病了的博客 1259

python简明教程学习笔记 模块

1.模块    如果我们想在别的程序之中重用我们已经写好的函数,我们就需要使用模块。有很多种方法可以编写模块,其中最简单的就是创建一个包含函数变量,以 .py 格式为后缀的文件。    另一种方法是使用撰写 Python 解释器本身的本地语言来编写模块。举例来说,你可以使用 C 语言来撰写 Python 模块,并且在编译后,你可以通过标准 Python 解释器在你的 Python 代码中使用它们。...

Coulson_Zhao的博客 488

揭秘大厂 Unity 红点系统设计:别小看右上角那颗小红点,它能把你项目搞崩

本文详细探讨了游戏大厂如何设计高性能红点系统。红点作为提升用户活跃和转化率的重要工具,需要支持多级联动、动态判断和全局一致性。系统采用观察者模式和树形结构,分为数据管理、逻辑判定、订阅通知和UI展示四大模块,通过事件驱动方式实现高效刷新。文章特别强调了解耦设计、配置化管理和性能优化,并提出了热更新、数据分析等高级应用场景。最终指出,优秀的红点系统需要架构标准化、自动化配置和团队紧密协作,是大型游戏项目的关键技术基础。

本博客聚焦游戏开发技巧、创业实战心得及大学热门课程干货。这里既有技术深度,也有思维广度,无论你是开发者、创业者还是高校学子,都能在这里找到适合自己的成长之路! 378

基于STM32+华为云设计的智慧农业灌溉系统(2023升级版)(158)

本项目设计一种基于STM32的智慧农业监测系统。该系统能够检测空气温度、湿度、光强度和土壤湿度等关键指标,并自动调节浇水量,实现作物生长环境的精细化管理。同时,本项目还支持本地LCD屏幕数据显示和通过ESP8266上传数据到华为云物联网平台,同时搭建流媒体服务器实现摄像头远程监控。最重要的是,本项目将利用Qt开发Android手机APP,使用户可以远程查看监测情况,了解农作物生成情况。

1万+

Python青少年简明教程:turtle模块入门

Python青少年简明教程:turtle模块入门

cnds123的专栏 2232

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

简明 Python 教程(第6章 模块)

模块是Python中组织代码的一种方式,它允许开发者将代码分解为可重用的单元,便于管理和维护。开发者可以有效地利用Python的模块系统来构建复杂的应用程序。模块是一个包含Python定义和声明的文件,文件名就是模块名加上.py扩展名。模块可以包含函数、类、变量以及可执行的代码。

748

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

简明Python 教程 --模块

第8章 模块目录表简介 使用sys模块 字节编译的.pyc文件 from..import语句 模块的__name__ 使用模块的__name__ 制造你自己的模块 创建你自己的模块 from..import dir()函数 使用dir函数 概括 简介你已经学习了如何在你的程序中定义一次函数而重用代码。如果你想要在其他程序中重用很多函数,那么你该如何编写程序呢?你可能已经猜到了,答案

派的无理性 1343

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Python3简明教程(十二)—— 模块

在这节我们将要学习 Python 模块相关知识。包括模块的概念和导入方法,包的概念和使用,第三方模块的介绍,命令行参数的使用等。 模块 到目前为止,我们在 Python 解释器中写的所有代码都在我们退出解释器的时候丢失了。但是当人们编写大型程序的时候他们会倾向于将代码分为多个不同的文件以便使用,调试以及拥有更好的可读性。在 Python 中我们使用模块来到达这些目的。模块是包括 Py...

dianshu1593的博客 276

【Python】logging日志模块简明教程

logging模块是Python内置的标准模块,主要用于输出运行日志,可以设置输出日志的等级、日志保存路径、日志文件回滚等;相比print,具备如下优点: 可以通过设置不同的日志等级,在release版本中只输出重要信息,而不必显示大量的调试信息; print将所有信息都输出到标准输出中,严重影响开发者从标准输出中查看其它数据;logging则可以由开发者决定将信息输出到什么地方,以及怎么输出。 基本设置: from datetime import datetime import l

LeonJin的博客 518
上一篇: Nginx支持Nagios相关配置
下一篇: 关于RHEL6.3 sysctl 一个错误问题的解决
kumu_Linux
博客等级 码龄15年 68粉丝 94原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值