今天在分离.obj模型数据时,遇到一个问题,就是每行数据存在换行符,导致末尾添加的符号出现在下一行的行首。因此,需要先删除末尾的换行符,再添加符号。

知识点

replace(a,b) 将a替换为b,比如,replace("\n"," ") ,换行符替换为空格
obj 文件数据
1. v 顶点坐标
2. vt 纹理坐标
3. vn 顶点法向量
4. f 面,包含顶点索引,格式:v/vt/vn

#!/usr/bin/env python3
# encoding: utf-8
# coding style: pep8
# ====================================================
#   Copyright (C)2020 All rights reserved.
#
#   Author        : xxx
#   Email         : xxx@gmail.com
#   File Name     : parse_obj.py
#   Last Modified : 2020-07-10 20:02
#   Description   :
#
# ====================================================import sys
import os
import numpy as npobjFilePath = 'particles.obj'f_v = open("./v.txt", "w")
f_v.seek(0)
f_v.truncate()  # 清空文件f_vt = open("./vt.txt", "w")
f_vt.seek(0)
f_vt.truncate()  # 清空文件f_f = open("./f.txt", "w")
f_f.seek(0)
f_f.truncate()  # 清空文件with open(objFilePath) as file:points = []while 1:line = file.readline()if not line:breakstrs = line.split(" ")if strs[0] == "v":tmp = strs[1]+","+strs[2]+","+strs[3].replace("\n","")+','f_v.write(tmp)if strs[0] == "vt":tmp = strs[1]+","+strs[2].replace("\n","")+','f_vt.write(tmp)if strs[0] =="f":tmp = str(int(strs[1].split("/")[0])-1)+","+str(int(strs[2].split("/")[0])-1)+","+str(int(strs[3].split("/")[0])-1)+","f_f.write(tmp)

参考

  • python 替换文本中指定内容
  • Python中字符串String去除出换行符(\n,\r)和空格的问题
  • OBJ格式模型详细介绍

python 分离obj模型文件数据相关推荐

  1. OBJ模型文件的结构、导入与渲染

    在[3DS文件结构的初步认识]中提及了3DS格式模型文件.固然3DS格式很常用,但OBJ格式的模型也是很常见的,于是咔嚓了一下心,熟悉了一下格式,并写了一个导入OBJ格式模型的类,顺便有此文.--Zw ...

  2. 怎么用python处理excel文件-Python自动化如何处理excel文件数据

    原标题:Python自动化如何处理excel文件数据 在python自动化中,经常会遇到对数据文件的操作,比如添加多名员工,但是直接将员工数据写在python文件中,不但工作量大,要是以后再次遇到类似 ...

  3. unity导出.obj模型文件

    unity导出.obj模型文件 最近使用realworldterrain生成真实地形遇到一个问题,就是该地形的坐标轴没有在中心位置,这样在旋转缩放操作时候就有各种问题,效果不好,于是想到先导出该地形为 ...

  4. 在Python中FITS格式文件数据的读取 (转载)

    在Python中FITS格式文件数据的读取 (转载) 前言 \space\space\space\space     FITS(Flexible Image Transport System)格式文件 ...

  5. python加载模型文件进行图片分类_tensorflow通过模型文件,使用tensorboard查看其模型图Graph方式...

    Google提供了一个工具,TensorBoard,它能以图表的方式分析你在训练过程中汇总的各种数据,其中包括Graph结构. 所以我们可以简单的写几行Pyhton,加载Graph,只在logdir里 ...

  6. obj模型文件的格式

    obj模型的格式 带纹理的obj模型 mtl材质文件 推荐参考库文件 tiny_obj_loader assimp 带纹理的obj模型 一般带纹理的obj模型需要有以下三个文件,分别是.obj文件,. ...

  7. python怎么读取txt文件数据保存数组中-python将txt等文件中的数据读为numpy数组的方法...

    实际中,很多数据都是存为txt文件.csv文件等,但是在程序中处理的时候numpy数组或列表是最方便的.本文简单介绍读入txt文件以及将之转化为numpy数组或列表的方法. 1 将txt文件读为lis ...

  8. 【python图像处理】txt文件数据的读取与写入

    在使用python进行数据和图像处理的过程中,经常会遇到从txt文件中读取数据.已经将处理过程中的矩阵数据写入到txt文件的情形,如在伪彩映射中读取颜色映射表. 下面介绍几种我平时常用的txt文件数据 ...

  9. python找不到文件数据_如何用 Python 正确读取资源文件

    我们知道,当你把一个资源文件和一个.py文件放在一起的时候,你可以直接在这个.py文件中,使用文件名读取它.例如: 运行效果如下图所示: 但请注意,这里我是直接运行的read.py这个文件.如果资源文 ...

最新文章

  1. INDEX 函数说明
  2. 【c语言】蓝桥杯算法训练 乘法表
  3. 递归下降语法分析程序
  4. 通过测试想到的一些问题
  5. NET快速信息化系统开发框架 V3.2 - “用户管理”主界面使用多表头展示、增加打印功能...
  6. [DLX反复覆盖] hdu 2828 Lamp
  7. 图像的连通域检测的堆栈算法
  8. sybase 连接mysql_如何连接到Sybase SQL Anywhere数据库
  9. windows查找端口占用并杀死端口进程
  10. 【AI视野·今日NLP 自然语言处理论文速览 第十六期】Tue, 29 Jun 2021
  11. 简述工业机器人示教再现的一般步骤_基于激光焊缝跟踪传感器的工业机器人焊缝跟踪系统的应用焊接寻位...
  12. 【Java虚拟机】运行时数据区
  13. ruoyi 多模块部署_基于若依(RuoYi)脚手架的前端项目部署(vue)
  14. 基于Elman神经网络的数据回归预测
  15. Make sure that the latest NVIDIA driver is installed and running.
  16. 北京东方时尚学车日志
  17. 自定义Tab切换+自定义CheckBox+light7无限滑动/下拉刷新
  18. HyperMesh二次开发教程 - 前言
  19. Post接口测试示例
  20. 微信小程序如何将数据存储到服务器,微信小程序关于数据存储的一些坑

热门文章

  1. Hive读取复杂的数据类型(Array,Map,Struct)
  2. linux中date命令如何设置时间戳,Linux基本命令之date命令的参数及获时间戳的方法...
  3. Ipad与windows11之间共享文件夹的方法
  4. wap精武堂源码php_Showgirl武装秀,“精武堂”大奖等你拿!
  5. Pygame Zero(pgzrun)游戏库介绍
  6. java使用常量的好处是什么_Java常量知识点小结
  7. Python frozenset()函数
  8. 大学生入学面试时怎么称述自己的学校经历
  9. 三角函数各角度的值,角度用π的形式表示
  10. speedoffice表格中如何插入图片