精华内容
下载资源
问答
  • http://tech.seety.org/python/python_imaging.html 转载于:https://www.cnblogs.com/buoge/p/3998680.html

    http://tech.seety.org/python/python_imaging.html

    转载于:https://www.cnblogs.com/buoge/p/3998680.html

    展开全文
  • Add PLY to Python libraries

    2020-12-09 06:18:39
    <div><p>Adds <a href="http://www.dabeaz.com/ply/">PLY, a popular Python lex/yacc implementation. <p>I can add this to <code>examples</code> if you like, I wasn't sure if it would be useful: ...
  • ply:Python Lex-Yacc-源码

    2021-04-12 21:12:28
    PLYPython Lex-Yacc) 版权所有(C)2001-2020 David M.Beazley(Dabeaz LLC)保留所有权利。 如果满足以下条件,则允许以源代码和二进制形式进行重新分发和使用,无论是否经过修改,都可以: 重新分发源代码...
  • 解析器 Spark 和 PLY 让用户用 Python 来声明 Python 值,然后使用某些魔法来让 Python 运行时环境进行解析配置.
  • python下的ply文件的读取存储工作,代码中存有对.ply文件的读取、存储函数。
  • 使用的工具:PLYPython Lex 和 Yacc) 运行说明 运行生成文件 make 要运行解析器,请将文件名的路径作为参数传递。 bin/parser test/test[\d+].py 解析器将调用转换器,然后调用 dot 最终输出解析树的 png ...
  • PLY 是一个Python 的Lex/YACC 实现. 官方网站在这里http://www.dabeaz.com/ply/ 作者:David Beazley SWIG的发明人 PLY是很Pythonic的语言工具,使用起来也非常简明,学习周期短就可以实现...

    转载自:http://eatsalt.blog.163.com/blog/static/879402662009376956615/

    PLY 是一个Python 的Lex/YACC 实现. 官方网站在这里http://www.dabeaz.com/ply/

    作者:David Beazley

    PLY (Python Lex-Yacc)基于Python的LEX和YACC  - ASFR! - 志同道合s Blog

    SWIG的发明人

    PLY是很Pythonic的语言工具,使用起来也非常简明,学习周期短就可以实现一个简单的语法规则和翻译规则程序,对研究编译器原理很有价值。

    官方网站给出的特性信息:

    • It's implemented entirely in Python.

       

    • It uses LR-parsing which is reasonably efficient and well suited for larger grammars.

       

    • PLY provides most of the standard lex/yacc features including support for empty productions, precedence rules, error recovery, and support for ambiguous grammars.

       

    • PLY is straightforward to use and provides very extensive error checking.

       

    • PLY doesn't try to do anything more or less than provide the basic lex/yacc functionality. In other words, it's not a large parsing framework or a component of some larger system.

    来一个简单的例子:

     

    # -----------------------------------------------------------------------------
    # calc.py
    #
    # A simple calculator with variables -- all in one file.
    # -----------------------------------------------------------------------------

    tokens = (
        'NAME','NUMBER',
        'PLUS','MINUS','TIMES','DIVIDE','EQUALS',
        'LPAREN','RPAREN',
        )

    # Tokens

    t_PLUS    = r'\+'
    t_MINUS   = r'-'
    t_TIMES   = r'\*'
    t_DIVIDE  = r'/'
    t_EQUALS  = r'='
    t_LPAREN  = r'\('
    t_RPAREN  = r'\)'
    t_NAME    = r'[a-zA-Z_][a-zA-Z0-9_]*'

    def t_NUMBER(t):
        r'\d+'
        try:
            t.value = int(t.value)
        except ValueError:
            print "Integer value too large", t.value
            t.value = 0
        return t

    # Ignored characters
    t_ignore = " \t"

    def t_newline(t):
        r'\n+'
        t.lexer.lineno += t.value.count("\n")
        
    def t_error(t):
        print "Illegal character '%s'" % t.value[0]
        t.lexer.skip(1)
        
    # Build the lexer
    import ply.lex as lex
    lex.lex()

    # Parsing rules

    precedence = (
        ('left','PLUS','MINUS'),
        ('left','TIMES','DIVIDE'),
        ('right','UMINUS'),
        )

    # dictionary of names
    names = { }

    def p_statement_assign(t):
        'statement : NAME EQUALS expression'
        names[t[1]] = t[3]

    def p_statement_expr(t):
        'statement : expression'
        print t[1]

    def p_expression_binop(t):
        '''expression : expression PLUS expression
                      | expression MINUS expression
                      | expression TIMES expression
                      | expression DIVIDE expression'''
        if t[2] == '+'  : t[0] = t[1] + t[3]
        elif t[2] == '-': t[0] = t[1] - t[3]
        elif t[2] == '*': t[0] = t[1] * t[3]
        elif t[2] == '/': t[0] = t[1] / t[3]

    def p_expression_uminus(t):
        'expression : MINUS expression %prec UMINUS'
        t[0] = -t[2]

    def p_expression_group(t):
        'expression : LPAREN expression RPAREN'
        t[0] = t[2]

    def p_expression_number(t):
        'expression : NUMBER'
        t[0] = t[1]

    def p_expression_name(t):
        'expression : NAME'
        try:
            t[0] = names[t[1]]
        except LookupError:
            print "Undefined name '%s'" % t[1]
            t[0] = 0

    def p_error(t):
        print "Syntax error at '%s'" % t.value

    import ply.yacc as yacc
    yacc.yacc()

    while 1:
        try:
            s = raw_input('calc > ')
        except EOFError:
            break
        yacc.parse(s)

       想要了解更多,你可以参考官方文档(英文):http://www.dabeaz.com/ply/ply.html

    转载于:https://www.cnblogs.com/c00107217/archive/2013/04/10/3013343.html

    展开全文
  • 欢迎使用plyfile Python模块,该模块提供了用于读取和写入ASCII和二进制PLY文件的简单工具。 PLY格式在。 安装 依存关系 python2> = 2.7或python3 numpy的> = 1.8 注意: 1.9.2版之前的numpy 1.9有一个错误,该...
  • ply[python lex yacc]-3.2

    2009-05-23 20:04:29
    python实现的lex&yacc 词法分析和语法分析,是你可以轻轻松松的构造一个编译器。
  • 在这个项目中,我使用了基于Python的Lex-Yacc库 ,并且全项目使用Python编写 此编译器可以生成包含短路条件的if结构对应四元式,while结构对应四元式 项目总行数约700,其中词法分析100行,语法分析600行 项目使用 ...
  • Python 编写的 Java 7 解析器。 它有 awesome 作为其唯一的依赖项。 地位 plyj 正式进入维护模式。 在可预见的未来,我不会有新的发展。 如下文所述,plyj 基本上是 JDT 语法的手动转录。 这在过去对我很有帮助,...
  • LanguagesAndTranslators_Proyect 该项目旨在使用PLYPython Lex-Yacc)创建类似于BASIC的编程语言
  • python读取ply数据

    千次阅读 2020-06-14 15:16:52
    直接读取数据用matplotlib绘图 兔子数据下载: ...或 ...第二个打开有点慢,建议用第一个下载 import matplotlib.pyplot as plt from plyfile import * from mpl_toolkits.mplot3d import Axes3D plydata = PlyData.r

    直接读取数据用matplotlib绘图

    兔子数据下载:
    http://graphics.stanford.edu/data/3Dscanrep/

    https://www.cc.gatech.edu/projects/large_models/
    第二个打开有点慢,建议用第一个下载

    import matplotlib.pyplot as plt
    from plyfile import *
    from mpl_toolkits.mplot3d import Axes3D
    
    plydata = PlyData.read('bun000.ply')
    
    xlist = plydata['vertex']['x']
    ylist = plydata['vertex']['y']
    zlist = plydata['vertex']['z']
    
    fig = plt.figure()
    ax = Axes3D(fig)
    ax.scatter(xlist, ylist, zlist)
    plt.show()
    

    在这里插入图片描述
    可以用MeshLab直接打开,很方便
    在这里插入图片描述

    展开全文
  • Add python-plyfile

    2020-12-25 23:52:06
    <div><p>Package is only in PyPI. I am only using it to simplify dependency management and have no...<p>PyPI: https://pypi.python.org/pypi/plyfile</p><p>该提问来源于开源项目:ros/rosdistro</p></div>
  • 点云处理时,关使用python读写.ply文件的博客并不多,而且要么是从ply文件头部开始写起,要么是csdn收费的。所以打算自己写一个博客记录下。 1. 读ply文件 这个很简单,具体可以看官方文档: 2.写ply文件 这个比较...

    点云处理时,关使用python读写.ply文件的博客并不多,而且要么是从ply文件头部开始写起,要么是csdn收费的。所以这里写一个博客记录下。

    1. 读ply文件

    这个很简单,具体可以看官方文档:
    在这里插入图片描述
    代码:
    首先安装plyfile库:

    pip install plyfile
    

    然后定义函数:

    from plyfile import PlyData,PlyElement
    def read_ply(filename):
        """ read XYZ point cloud from filename PLY file """
        plydata = PlyData.read(filename)
        pc = plydata['vertex'].data
        pc_array = np.array([[x, y, z] for x,y,z in pc])
        return pc_array
    

    2.写ply文件

    这个比较麻烦,原文档说的也不是很清楚。

    from plyfile import PlyData,PlyElement
    def write_ply(save_path,points,text=True):
        """
        save_path : path to save: '/yy/XX.ply'
        pt: point_cloud: size (N,3)
        """
        points = [(points[i,0], points[i,1], points[i,2]) for i in range(points.shape[0])]
        vertex = np.array(points, dtype=[('x', 'f4'), ('y', 'f4'),('z', 'f4')])
        el = PlyElement.describe(vertex, 'vertex', comments=['vertices'])
        PlyData([el], text=text).write(save_path)
    

    这里假定输入的点云数据是只有xyz坐标信息的(即代码中的"vertex"),没有将面元法向颜色等写进去。
    如果需要的话:
    再加入以下几行代码即可

        face = PlyElement.describe(np.array(face_data,dtype=[......]),'face')
        color = PlyElement.describe(np.array(color_data,dtype=[......]),'color')
        normals = PlyElement.describe(np.array(normals_data,dtype=[......]),'normals')
        # 全部写入
        PlyData([point, face,color,normals]).write(save_path)
    

    数据类型需要对应到每一个数据元素的类型。

    展开全文
  • # python3 -m pip install ply python3 -m pip uninstall -y ply # ^ "PLY is no longer maintained as pip-installable package. Although no # new features are planned, it continues to be maintained and # ...
  • PLY (Python Lex-Yacc) 1. Preface and Requirements 本文档提供了使用PLY进行词法分析和解析的概述,考虑到解析的内在复杂性,我强烈建议您在使用PLY进行大型开发项目之前阅读(或至少略读)整个文档。 2. ...
  • python读取点云.ply文件

    千次阅读 2020-03-21 18:56:22
    https://github.com/dranjan/python-plyfile 安装plyfile库:pip install plyfile 使用 plydata = PlyData.read('tet.ply')或 with open('tet.ply', 'rb') as f: ... plydata = PlyData.read(f) ...
  • 基于PLY的解释器,现在完成了最简单的功能,可以执行最简单的四则运算,和变量保存,打印了全部的中间步骤。
  • Python语法解析器PLY——lex and yacc in Python

    万次阅读 多人点赞 2012-10-16 22:56:50
    PLY是lex和yacc的python实现,包含了它们的大部分特性。PLY采用COC(Convention Over Configuration,惯例优于配置)的方式实现各种配置的组织,比如:强制词法单元的类型列表的名字为tokens,强制描述词法单元的...
  • python编程(ply库)

    万次阅读 2018-01-21 22:30:39
    【 声明:版权所有,欢迎转载,请勿用于商业用途。...  长久以来,我一直对编译器都比较感兴趣。网上,大家推荐的龙书、《自制编译器》等等虽然也看过,但是我觉得都没有...最近因为使用python的关系,想看看python有没
  • 该代码利用python(numpy)生成ply文件,并将三维点云数据写入ply文件。生成的ply文件可以直接用meshlab打开查看点云。 这个积分太高了,我重新上传了一份,链接: ...
  • python下的ply文件的读取存储工作,代码中存有对.ply文件的读取、存储函数。
  • -PYTHON.ma PYTHON.ma是Darija编译器中的简化Python,使用PLY库中的Lex和Yacc创建。
  • 利用python3.6(numpy),生成ply文件,并将三维点云数据写入ply文件。生成的ply文件可以直接用meshlab软件打开查看点云。 代码建议使用pycharm运行,
  • Python将网格off文件写入ply文件背景一、ply文件格式二、读取单个off文件并写ply文件1.引入库igl和plyfile2.读入数据2.写入数据总结 背景 在做ldif论文复现时候,需要先用occpancy网络的数据,其中用mesh-fusion...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,222
精华内容 488
关键字:

plypython

python 订阅