obj文件

超级干货,python常用函数大总结

眉间皱痕 提交于 2020-03-16 18:41:40
  我们在学习python的时候,接触最多的往往则是那些函数,对于python函数,在这里为大家总结归纳了这些,如果有缺漏,还请及时留言指正哦!   话不多说,干货来袭!   1.常用内置函数:(不用import就可以直接使用)   help(obj) 在线帮助, obj可是任何类型   callable(obj) 查看一个obj是不是可以像函数一样调用   repr(obj) 得到obj的表示字符串,可以利用这个字符串eval重建该对象的一个拷贝   eval_r(str) 表示合法的python表达式,返回这个表达式   dir(obj) 查看obj的name space中可见的name   hasattr(obj,name) 查看一个obj的name space中是否有name   getattr(obj,name) 得到一个obj的name space中的一个name   setattr(obj,name,value) 为一个obj的name space中的一个name指向vale这个object   delattr(obj,name) 从obj的name space中删除一个name   vars(obj) 返回一个object的name space。用dictionary表示   locals() 返回一个局部name space,用dictionary表示  

什么是反射?

时光毁灭记忆、已成空白 提交于 2020-03-16 11:12:19
1.对象有编译类型和运行类型 Object obj = new java.util.Date(); 编译类型:Object 运行类型(其实就是obj对象真实的类型):java.util.Date 需求:根据对象obj调用Date类中的一个方法,toLocaleString,如何来做? obj.toLocaleString()代码在编译阶段去编译类型Object中检查是否有该方法,若没有,编译失败. 1.对象有编译类型和运行类型 Object obj = new java.util.Date(); 编译类型:Object 运行类型(其实就是obj对象真实的类型):java.util.Date 需求:根据对象obj调用Date类中的一个方法,toLocaleString,如何来做? obj.toLocaleString()代码在编译阶段去编译类型Object中检查是否有该方法,若没有,编译失败. 解决方案1:强制转换obj为Date类型,前提:必须知道对象的真实类型是什么? Date d = (Date)obj; d.toLocaleString();//YES 如果我不知道obj的真实类型,那又如何去调用toLolcaeString方法. 如何去做? 解决方案2: 使用反射 对象使用类描述的,但是Java中一些皆对象,其实所有的类,底层都有一个字节码对象

python实现批量远程执行命令及批量上传下载文件

拟墨画扇 提交于 2020-03-13 11:15:23
#!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2018/1/22 23:18 # @Author : xuxuedong # @Site : # @File : sys.py # @Software: PyCharm import os, sys,platform #for linux # if platform.system() == "windows": # Base_DIR = '\\'.join(os.path.abspath(os.path.dirname(__file__)).split('\\')[:-1]) # print(Base_DIR) # else: # Base_DIR = '/'.join(os.path.abspath(os.path.dirname(__file__)).split('/')[:-1]) BASE_DIR =os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) print(BASE_DIR) sys.path.append(BASE_DIR) from salt.core import Handler if __name__ == '__main__': print

three.js obj转js的详细步骤 convert_obj_three.py的用法

∥☆過路亽.° 提交于 2020-03-09 19:48:55
three.js是最近非常流行的一个前端webgl库。 js格式的模型文件是three.js中可以直接加载的文件。使用THREE.JSONLoader()直接加载,而不需要引用其它的loader插件。 obj格式转js格式使用的是threejs.org官方提供的一个convert_obj_three.py的工具,这个工具的使用需要安装python环境。 文件准备: convert_obj_three.py 在官网的下载的包中./utils/converters/obj/目录下可以找到。打开 three.js官网 ,点击如下图所示download链接,即可下载。下载好后解压,然后进入utils/converters/obj/下的文件夹即可找到。 也可以在github上面 https://github.com/mrdoob/three.js/tree/master/utils/converters/obj 这里可以找到,点击conver_obj_three.py打开编辑页面,然后你在自己电脑上新建一个convert_obj_three.py的文本文件,把github上面那个内容拷贝进去保存就可以使用, 提示: convert_obj_three_for_python3.py 这个也是同样的转换工具,只不过是给python 3.X版本的环境使用的。 convert_obj_three

Java序列化

社会主义新天地 提交于 2020-03-07 04:42:02
简要解释:  序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化。可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间。  序列化是为了解决在对对象流进行读写操作时所引发的问题。序列化的实现:将需要被序列化的类实现Serializable接口,该接口没有需要实现的方法,implements Serializable只是为了标注该对象是可被序列化的,然后使用一个输出流(如:FileOutputStream)来构造一个ObjectOutputStream(对象流)对象,接着,使用ObjectOutputStream对象的writeObject(Object obj)方法就可以将参数为obj的对象写出(即保存其状态),要恢复的话则用输入流。详细解释: 当两个进程在进行远程通信时,彼此可以发送各种类型的数据。无论是何种类型的数据,都会以 二进制序列 的形式在网络上传送。发送方需要把这个Java对象转换为字节序列,才能在网络上传送;接收方则需要把字节序列再恢复为Java对象。   只能将支持 java.io.Serializable 接口的对象写入流中。 每个 serializable 对象的类都被编码,编码内容包括类名和类签名、对象的字段值和数组值,以及从初始对象中引用的其他所有 对象的闭包 。 1.概念   序列化:把Java对象转换为字节序列的过程。

通用的makefile写法

北城以北 提交于 2020-03-06 22:34:20
1 定义可执行文件的名称 TARGET =MyPro 2 指定此编译工程所要使用的头文件所在的目录 INC = -I. -Iheader1 -Iheader2 3 指定cpp文件所在的目录 VPATH = .:src1:src2 4 指定所有的cpp文件 SRC_PATH = $(foreachdir,$(subst :, ,$(VPATH)),$(wildcard $(dir)/,*.cpp)) 解释: foreach,subst,wildcard为makefile的内置函数,其中wildcard函数为字符串连接函数,把函数中的两个参数连接成一个。subst是字符串替换函数,在此句中意思是把VPATH变量中的冒号替换成空格。foreach函数,就是把subst函数的返回值,以空格为分隔符,循环取值赋给dir,然后接受wildcard的处理。 这句的总体意思是:从VPATH中获取每个目录,并分别找出此目录下所有的cpp文件,赋给SRC_PATH变量。 5 定义中间object文件存放的目录。 OBJ_DIR = ./obj 6 所有的object文件要按照和源代码对应的目录存放,定义object文件的目录 OBJ_PATH = $(addprefix $(OBJ_DIR)/, $(subst :,,$(VPATH) ) ) 解释: addprefix函数是加前缀的函数

Bencode的编码与解码

浪子不回头ぞ 提交于 2020-03-05 08:43:11
开源地址: https://github.com/CreateChen/Bencode Nuget: Install-Package Bencode 1. Bencode规则 BEncoding是 BitTorrent 用在传输数据结构的编码方式,我们最熟悉的“种子”文件,它里面的元数据就是 BEncoding 过的字典表。虽然比用纯二进制编码效率低,但由于结构简单而且不受字节存储顺序影响(所有数字以十进制编码,不存在 大端小端的问题 )——这对于跨平台性非常重要。而且具有较好的灵活性,即使存在故障的字典键,只要将其忽略并更换新的就能兼容补充,更多介绍见 维基百科 。 这种编码方式支持四种类型的数据:string, int, Dictionary<string, object>, List<object>,各自的编码规则如下: 1.1 string类型 string类型 的编码格式为 [length]:[string] 。以字符串的长度开头,加一个冒号,并以字符串内容结束。示例: "abc" => 3:abc 1.2 int类型 int类型 的编码格式为i[int]e。以i开头,加上数字,以e结尾。 示例: 123 => i123e 1.3 List<object>类型 List<object>类型 的编码格式为 l[object]e 。以l开头,加上列表中各个元素的编码

[计算机图形学] OpenGL读取obj文件并显示其3D效果

。_饼干妹妹 提交于 2020-03-04 07:49:53
 读取三维网格模型(Wavefront OBJ文件) 无法向立方体:cube.obj 有法向兔子模型:bunny.obj 有法向有纹理八字模型:Eight.obj OBJ文件的格式可参考: http://www.cnblogs.com/youthlion/archive/2013/01/21/2870451.html  利用OpenGL显示该模型的绘制效果(全部) 顶点显示 线条显示 面片显示  核心代码说说 1、下面的点、纹理、法向量、面用于构成一个PIC的类,PIC用于存储从OBJ文件中读取的3D图形的信息: 1 struct POINT3{ 2 double X; 3 double Y; 4 double Z; 5 }; 6 struct WenLi{ 7 double TU; 8 double TV; 9 }; 10 struct FaXiangLiang{ 11 double NX; 12 double NY; 13 double NZ; 14 }; 15 struct Mian{ 16 int V[3]; 17 int T[3]; 18 int N[3]; 19 }; 20 class PIC 21 { 22 public: 23 vector<POINT3> V;//V:代表顶点。格式为V X Y Z,V后面的X Y Z表示三个顶点坐标。浮点型 24

Laravel中的日志与上传

你离开我真会死。 提交于 2020-03-01 06:02:51
  PHP中的框架众多,我自己就接触了好几个。大学那会啥也不懂啥也不会,拿了一个ThinkPHP学了。也许有好多人吐槽TP,但是个人感觉不能说哪个框架好,哪个框架不好,再不好的框架你能把源码读上一遍,框架的设计思想理解了也能学到好多东西。况且有好多东西自己还不理解,所以认真学习一个框架这还是可以学不少东西的。   还是先说说Laravel吧,现在已经到5.2了。就我自己来说之前没有接触过laravel,但是学习过laravel之后感觉这个框架确实不错,并且老外用的不亦乐乎。他的开发社区还可以,文档比较齐全,但是官网文档不咋地,从上面读不出多少东西(自己感觉),好多东西还得阅读源码,对于我这种英语不好的人还更喜欢中文文档(以后得改)。Laravel是使用Composer(https://getcomposer.org)来管理依赖,确实比较方便,但是因为镜像被墙的原因在访问或者更新的时候比较慢(几乎失败),这里有解决办法:http://pkg.phpcomposer.com/#tip1。   最近因为工作需要项目要重构(重构原因不用多说,大家懂得),需要迁移到新的框架上。Laravel是一个不错的框架,强大的路由,便捷的配置,高可用的模块依赖,确实为开发省了不少力气。考虑到我们这个项目主要是接口部分,对性能有一定的要求(但是不是苛刻),并且路由不能改,要兼容老的逻辑

java如何获取一个对象的大小

烂漫一生 提交于 2020-03-01 04:36:43
When---什么时候需要知道对象的内存大小 在内存足够用的情况下我们是不需要考虑java中一个对象所占内存大小的。但当一个系统的内存有限,或者某块程序代码允许使用的内存大小有限制,又或者设计一个缓存机制,当存储对象内存超过固定值之后写入磁盘做持久化等等,总之我们希望像写C一样,java也能有方法实现获取对象占用内存的大小。 How---java怎样获取对象所占内存大小 在回答这个问题之前,我们需要先了解java的基础数据类型所占内存大小。 数据类型 所占空间(byte) byte     1 short 2 int 4 long 8 float 4 double 8 char   2 boolean 1 当然,java作为一种面向对象的语言,更多的情况需要考虑对象的内存布局,java对于对象所占内存大小需要分两种情况考虑: 对象类型 内存布局构成 一般非数组对象 8个字节对象头(mark) + 4/8字节对象指针 + 数据区 + padding内存对齐(按照8的倍数对齐) 数组对象 8个字节对象头(mark) + 4/8字节对象指针 + 4字节数组长度 + 数据区 + padding内存对齐(按照8的倍数对齐) 可以看到数组类型对象和普通对象的区别仅在于4字节数组长度的存储区间。而对象指针究竟是4字节还是8字节要看是否开启指针压缩。Oracle JDK从6 update