一、概述

wrl :virtual reality world

最近在找一些大场景点云文件,找到了一些 .wrl 文件,但是这些文件需要专门的软件打开才能显示,而我一般用的都是meshlab,所以需要转成 .ply 文件。所以就用Python将指定目录下的所有 wrl 文件一次性转成 ply 文件,并存储到另一个指定目录下。

二、代码

代码中 wrl 就是需要被转的wrl文件所在目录,ply 就是转为ply文件后所要存储的目录,根据实际情况自己确定。

import ospath = "E:/QTProgram/Master Career/Project---featureExt/major revision/new models/original/wrl/"files = os.listdir(path)
print(files)
print('-----------------------')for filename in files:filename = filename.split('.')[0]wrl = "E:/QTProgram/Master Career/Project---featureExt/major revision/new models/original/wrl/" + filename + ".wrl"ply = "E:/QTProgram/Master Career/Project---featureExt/major revision/new models/original/ply/" + filename +".ply"with open(wrl, 'r') as f2:str = f2.readline()while str:if(str.strip().split(' ')[0]=='numPoints'):print(str.strip().split(' ')[-1])pointsNum = str.strip().split(' ')[-1]breakstr = f2.readline()with open(ply, 'w') as f1:f1.write("""ply
format ascii 1.0
comment VCGLIB generated
element vertex {}
property float x
property float y
property float z
element face 0
property list uchar int vertex_indices
end_header
""".format(pointsNum))with open(ply, 'a') as f1:with open(wrl, 'r') as f:str = f.readline()while str:if(str.strip() == 'point ['):print(str)breakstr = f.readline()str = f.readline()while str:if str.strip().split(' ')[-1]==']':print('***')f1.write(str.strip().strip(']'))breakstr = str.strip().strip(',');f1.write(str + '\n')str = f.readline()f.close()f1.close()

三、结果

我将转化得到的20个ply文件合并后得到如下结果:

如何把 .wrl 文件转成 .ply 文件(python 一次性转换目录下所有文件)相关推荐

  1. python 实现统计ftp服务器指定目录下文件夹数目、文件数目及所有文件大小 本次主要为满足应用方核对上传到ftp服务器的文件是否缺漏。 主要要求:指定目录下,文件夹数目/文件数目/所有文件大小

    python 实现统计ftp服务器指定目录下文件夹数目.文件数目及所有文件大小 本次主要为满足应用方核对上传到ftp服务器的文件是否缺漏. 主要要求:指定目录下,文件夹数目/文件数目/所有文件大小,类 ...

  2. python 遍历搜索 目录下所有文件

    python 遍历搜索 目录下所有文件 import osdef search_dir_all_files(input_dir):files_list=[]for root, dirs, files ...

  3. idea 不打开文件提示错误_解决IDEA误删out目录下的文件导致404无法访问的问题

    前言 有时候IDEA下写Web项目时可能会遇到如下问题: 误删out目录下的文件导致开启服务器后无法访问页面的问题 新增加一个页面或添加一张图片,在项目编译运行后,未能自动更新到out\artifac ...

  4. c# 遍历文件夹深度_C#.NET中遍历指定目录下的文件(及所有子目录及子目录里更深层目录里的文件)...

    //遍历一个目录下所有的文件列表,代码实例 DirectoryInfo dir = new DirectoryInfo(folderName); var list = GetAll(dir); /// ...

  5. python查找文件夹下所有文件_如何用Python实现查找/目录下的文件夹或文件,致谢...

    给你各相对来说容易理解的哈 import os name=raw_input('filename:') #在这里输入你的查找值 a=os.listdir('/') #把所有/目录下的文件,目录存放入a ...

  6. php删除目录文件内容,php清空(删除)指定目录下的文件,不删除目录文件夹的实现代码...

    搜索热词 web 开发中我们可能会碰到需要将某个目录下的所有文件清空,但不删除这个目录下的子目录(当然也不会删除被删除的根目录)的情况.那么对于这种只删除文件而不删除目录的方法,你是如何处理的呢?下面 ...

  7. php读取文件夹,PHP readdir()和scandir():读取目录下的文件及文件夹

    前面我们介绍了使用<opendir() 函数>打开一个目录资源,正确打开目录后就可以获取该目录下的文件及文件夹信息了.在 PHP 中提供了 readdir() 和 scandir() 两个 ...

  8. 通过Python实现某个目录下所有文件(包含子目录中的文件)的列出

    方法一 # 修改工作目录 import os os.chdir(r'C:\Users\Hider\Desktop')# 定义函数 def list_all_files(rootdir):import ...

  9. 怎么查看python文件的代码_python实现代码查看列举目录下的文件

    本节主要内容: python os模块.glob模块列出文件夹下所有文件. 共提供4个方法列出文件夹内的所有文件. 例子: 复制代码代码示例: #方法1:使用os.listdir import os ...

最新文章

  1. 呵呵,又在这里开了个博客,现在已经有好几个了
  2. 145. 超市【小根堆 贪心】
  3. 动人配乐是如何炼成的?带您了解《花之灵》背景原声的幕后制作秘辛
  4. Java从入门到精通——调错篇之SVN 出现 Loced错误
  5. oracle连接连表查询时,两表的连接字段类型不一致的时候,会导致ora 01722无效数字错误,这时候需要转换...
  6. 穿越沙漠问题c语言算法,穿越沙漠问题---递推法
  7. 人工智能基础(高中版)教材补充和资源分享之一 无限光明的未来、过去和现在
  8. 内网渗透测试:隐藏通讯隧道技术
  9. R plot图片背景设置为透明_万能转换:R图和统计表转成发表级的Word、PPT、Excel、HTML、Latex、矢量图等...
  10. HQChart使用教程85-股票复权计算
  11. Java控制流程-for 天朝有一个乞丐姓洪,去天桥要钱 第一天要了1块钱 第二天要了2块钱 第三天要了4块钱 第四天要了8块钱 洪乞丐干10天,收入是多少?
  12. MYS-6ULX-IOT 开发板测评——使用MfgTool更新系统
  13. putty下载linux文件到本地windows
  14. CUDA内联汇编和PTX ISA入门指南
  15. python中tuple、list以及array(numpy的数据格式)的相互转换
  16. 三年级计算机秒打汉字教案,武汉社版三年级全册信息技术 18.汉字输入我能行 教案...
  17. css实现页面底部置底(转载)
  18. Cisco双ISP线路之单路由器解决方案
  19. Android 自定义RatingBar实现
  20. PV、EV、AC、BAC、EAC、ETC

热门文章

  1. if-elif-e方法lse的基本使用
  2. Python自动化:提取扫描件中的文字
  3. 前端实习——微信小程序(2)
  4. eureka客户端报错:was unable to send heartbeat Cannot execute request on any known server
  5. java闲鱼支付系统_闲鱼: 多状态多操作的交易链路架构演进
  6. 使用Halcon实现图像处理
  7. 人工智能Java SDK:英文翻译为德文
  8. Win10链接XP共享文件夹
  9. 结构体变量的内存分配
  10. 百格活动告诉你为什么你始终做不好活动营销?