python解析.pyd文件的详细代码

有的时候,为了对python文件进行加密,会把python模块编译成.pyd文件,供其他人调用。拿到一个.pyd文件,在没有文档说明的情况下,可以试试查看模块内的一些函数和类的用法。

首先 import XXX(pyd的文件名)

然后直接

print(dir(XXX))

print(help(xxx))

其中dir( ) 列出了属性和方法

而hlep()直接列出了其中的函数以及参数,并且是源码的函数名和类型,非常直观。

例如我这里的一个例子,输出如下:

['RC', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'call_func', 'collision_recover', 'disable_robot', 'drag_mode_enable', 'enable_robot', 'get_analog_input', 'get_analog_output', 'get_collision_level', 'get_current_line', 'get_digital_input', 'get_digital_output', 'get_joint_position', 'get_loaded_program', 'get_payload', 'get_program_state', 'get_rapidrate', 'get_robot_state', 'get_sdk_version', 'get_tcp_position', 'get_tool_id', 'get_user_frame_id', 'is_extio_running', 'is_in_collision', 'is_in_drag_mode', 'is_in_pos', 'is_on_limit', 'jog', 'jog_stop', 'joint_move', 'kine_forward', 'kine_inverse', 'linear_move', 'login', 'logout', 'power_off', 'power_on', 'program_abort', 'program_load', 'program_pause', 'program_resume', 'program_run', 'quaternion_to_rot_matrix', 'rot_matrix_to_quaternion', 'rot_matrix_to_rpy', 'rpy_to_rot_matrix', 'servo_j', 'servo_move_enable', 'servo_p', 'set_analog_output', 'set_collision_level', 'set_digital_output', 'set_error_handler', 'set_payload', 'set_rapidrate', 'set_tool_data', 'set_tool_id', 'set_user_frame_data', 'set_user_frame_id', 'shut_down', 'torque_control_enable', 'torque_feedforward']
Help on module jkrc:

NAME
    jkrc - Example module that creates an extension type.

CLASSES
    builtins.object
        RC

    class RC(builtins.object)
     |  RC objects
     |
     |  Methods defined here:
     |
     |  __init__(self, /, *args, **kwargs)
     |      Initialize self.  See help(type(self)) for accurate signature.
     |
     |  call_func(...)
     |      description
     |
     |  collision_recover(...)
     |      description
     |
     |  disable_robot(...)
     |      description
     |
     |  drag_mode_enable(...)
     |      description
     |
     |  enable_robot(...)
     |      description
     |
     |  get_analog_input(...)
     |      description
     |
     |  get_analog_output(...)
     |      description
     |
     |  get_collision_level(...)
     |      description
     |
     |  get_current_line(...)
     |      description
     |
     |  get_digital_input(...)
     |      description
     |
     |  get_digital_output(...)
     |      description
     |
     |  get_joint_position(...)
     |      description
     |
     |  get_loaded_program(...)
     |      description
     |
     |  get_payload(...)
     |      description
     |
     |  get_program_state(...)
     |      description
     |
     |  get_rapidrate(...)
     |      description
     |
     |  get_robot_state(...)
     |      description
     |
     |  get_sdk_version(...)
     |      description
     |
     |  get_tcp_position(...)
     |      description
     |
     |  get_tool_id(...)
     |      description
     |
     |  get_user_frame_id(...)
     |      description
     |
     |  is_extio_running(...)
     |      description
     |
     |  is_in_collision(...)
     |      description
     |
     |  is_in_drag_mode(...)
     |      description
     |
     |  is_in_pos(...)
     |      description
     |
     |  is_on_limit(...)
     |      description
     |
     |  jog(...)
     |      description
     |
     |  jog_stop(...)
     |      description
     |
     |  joint_move(...)
     |      description
     |
     |  kine_forward(...)
     |      description
     |
     |  kine_inverse(...)
     |      description
     |
     |  linear_move(...)
     |      description
     |
     |  login(...)
     |      Log in the specified robot
     |
     |  logout(...)
     |      Log out the specified robot
     |
     |  power_off(...)
     |      description
     |
     |  power_on(...)
     |      description
     |
     |  program_abort(...)
     |      description
     |
     |  program_load(...)
     |      description
     |
     |  program_pause(...)
     |      description
     |
     |  program_resume(...)
     |      description
     |
     |  program_run(...)
     |      description
     |
     |  quaternion_to_rot_matrix(...)
     |      description
     |
     |  rot_matrix_to_quaternion(...)
     |      description
     |
     |  rot_matrix_to_rpy(...)
     |      description
     |
     |  rpy_to_rot_matrix(...)
     |      description
     |
     |  servo_j(...)
     |      description
     |
     |  servo_move_enable(...)
     |      description
     |
     |  servo_p(...)
     |      description
     |
     |  set_analog_output(...)
     |      description
     |
     |  set_collision_level(...)
     |      description
     |
     |  set_digital_output(...)
     |      description
     |
     |  set_error_handler(...)
     |      description
     |
     |  set_payload(...)
     |      description
     |
     |  set_rapidrate(...)
     |      description
     |
     |  set_tool_data(...)
     |      description
     |
     |  set_tool_id(...)
     |      description
     |
     |  set_user_frame_data(...)
     |      description
     .......

以上所述是小编给大家介绍的python解析.pyd文件的详细代码,希望对大家有所帮助。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • Python .py生成.pyd文件并打包.exe 的注意事项说明

    最近用python写了一个小程序,想发布出去让人试用又不想暴露源码,搜索了一下发现将py文件编译成pyd文件就能达到目的. 转换过程很简单,但是在调用pyd文件并且打包为单个exe文件的时候遇到一个坑,搞了一天才解决,在这里分享一下. 首先安装cython库 个人比较喜欢用清华的镜像库,速度快. pip install Cyphton -i https://pypi.tuna.tsinghua.edu.cn/simple 然后创建一个setup.py文件 写入以下内容: from distuti

  • 解决Python import .pyd 可能遇到路径的问题

    Python import .pyd文件时会搜索sys.path列表中的路径 运行 import xxx.pyd 1. 'ImportError: No module named xxx' 可能是xxx.pyd所在路径不在sys.path中. 解决方法: import之前用sys.path.append()方法加入xxx.pyd所在路径,确定当前路径推荐用os.path.realpath('.'). 2. 'ImportError: DLL load failed: 找不到指定的程序' 可能是x

  • python 中 .py文件 转 .pyd文件的操作

    pyd文件生成 安装easycython库 pip install easycython test.py def test(): print("调用成功") main.py import test test.test() test.py文件重命名为:test.pyx 终端运行命令 easycython *.pyx 重命名pyd文件,删除:cp36-win_amd64. 运行代码,调用成功: python main.py 代码实现 import glob import os def ge

  • python解析.pyd文件的详细代码

    有的时候,为了对python文件进行加密,会把python模块编译成.pyd文件,供其他人调用.拿到一个.pyd文件,在没有文档说明的情况下,可以试试查看模块内的一些函数和类的用法. 首先 import XXX(pyd的文件名) 然后直接 print(dir(XXX)) print(help(xxx)) 其中dir( ) 列出了属性和方法 而hlep()直接列出了其中的函数以及参数,并且是源码的函数名和类型,非常直观. 例如我这里的一个例子,输出如下: ['RC', '__doc__', '__

  • Python解析CDD文件的代码详解

    目录 前言 基本介绍 前言 在实际诊断测试开发中,我们写测试脚本会用到CDD文件中的诊断,常规做法可能是用到哪个就定义哪个,这样做的弊端是有可能造成重复定义,或者整个工程中有不同的变量名,较为好的方式是头文件中统一定义,如果人去单独定义的话,CDD中诊断有比较多,浪费时间,所以基于这个需求,我想到了可以用Python 脚本解析CDD文件,统一定义,一键生成,十分快捷.测试软硬件环境:Win10 X64Python 3.8PyQt5 5.16.5 基本介绍 1. 如下图是工具的界面,输入是cdd

  • Python解析pcap文件示例

    引言 近期做一些基于TCP协议的项目,跟其他接口方调试时经常出现不一致的问题,而程序日志又不能完成保证公正,就只能通过tcpdump抓包的方式来排查问题了.由于是自定义的协议,用wireshark只能解析成16进制的报文,排查起来并不方便,而实现相关的插件又要用到C++或者LUA语言,这两者我都极少接触,因此,只能临时用Python写程序来解析了~ 首先,需要安装对应的依赖: pip install dpkt 我们用tcpdump或者wireshark抓到对应的内容后,保存为 tcp-log.p

  • python解析xml文件操作实例

    本文实例讲述了python解析xml文件操作的实现方法.分享给大家供大家参考.具体方法如下: xml文件内容如下: <?xml version="1.0" ?> <!--Simple xml document__chapter 8--> <book> <title> sample xml thing </title> <author> <name> <first> ma </first

  • python解析xml文件实例分析

    本文实例讲述了python解析xml文件的方法.分享给大家供大家参考.具体如下: python解析xml非常方便.在dive into python中也有讲解. 如果xml的结构如下: <?xml version="1.0" encoding="utf-8"?> <books> <book> <author>zoer</author> <title>think in java</title

  • python解析xml文件方式(解析、更新、写入)

    Overview 这篇博客内容将包括对XML文件的解析.追加新元素后写入到XML,以及更新原XML文件中某结点的值.使用的是python的xml.dom.minidom包,详情可见其官方文档:xml.dom.minidom官方文档.全文都将围绕以下的customer.xml进行操作: <?xml version="1.0" encoding="utf-8" ?> <!-- This is list of customers --> <c

  • Python 解析xml文件的示例

    1.获取xml树 import xml.etree.ElementTree as ET def getTree(xmlName): xmlName = xmlName.strip() try: tree = ET.parse(xmlName) except: tree = None print 'Analysis xml file fail,file name: {}'.format(xmlName) return tree 2.获取根节点 def getRoot(tree): if tree

  • python操作toml文件的示例代码

    # -*- coding: utf-8 -*- # @Time : 2019-11-18 09:31 # @Author : cxa # @File : toml_demo.py # @Software: PyCharm import toml import os BASE_DIR = os.path.dirname(os.path.abspath(__file__)) class FileOperation: def __init__(self): self.dic = dict() self

  • python链接sqlite数据库的详细代码实例

    一.创建数据库 创建sqlite数据库的代码 import sqlite3 conn = sqlite3.connect("test.db") print("成功创建数据库") 运行代码后左侧文件栏中会出现"test.db"文件, 二.链接数据库 视图->工具窗口->Database 此时编辑器右侧出现Database,点击添加按钮 点击路径选择按钮,找到创建好的"test.db"文件,选中 注意:Download

  • C/C++ QT实现解析JSON文件的示例代码

    JSON是一种轻量级的数据交换格式,它是基于ECMAScript的一个子集,使用完全独立于编程语言的文本格式来存储和表示数据,简洁清晰的的层次结构使得JSON成为理想的数据交换语言,Qt库为JSON的相关操作提供了完整的类支持. 创建一个解析文件,命名为config.json我们将通过代码依次解析这个JSON文件中的每一个参数,具体解析代码如下: { "blog": "https://www.cnblogs.com/lyshark", "enable&qu

随机推荐