我很难理解如何从 Pymel 中的复杂文本文件中提取浮点值。我不是程序员,我是艺术家,但是我需要为特定的工作流程创建脚本,并且我对 python 有初级知识。
我的目标:使用从另一个程序的特定文本文件解析的 (x,y,z) 坐标在 3D 空间中创建对象。
前任。文本文件:
点 1 8.740349 -4.640922 103.950059
点 2 8.520906 3.447561 116.580496
点 3 4.235010 -7.562914 99.632423
等等等等
在我的文本文件中,点 # 和向量浮动之间有更多空间。
我想创建一个字典,用于在我的 3D 程序中创建对象。
例如,
myDictionary = {(第 1 点),[8.740349,-4.640922,103.950059]) 等}。
到目前为止,这是我的代码片段:
def createLocators():
global filePath
global markerNum
global markerCoord
print "getting farther! :)"
with open(filePath,'r') as readfile:
for line in readfile:
if "point" in line:
Types = line.split(' ')
markerNum = [Type[1] for Type in Types]
markerCoord = [Type[2] for Type in Types]
print markerNum, markerCoord
正如您在代码中看到的,信息之间的间隔很长。我想如果我可以删除那个空间,我可以获得两个更容易使用的数据集。文本文档中还有更多我不关心的行,因此 if 语句仅过滤以“point”开头的行。当我运行 createLocator() 来测试它是否将行拆分到我的两个列表中时,它运行良好,但对我来说打印看起来是空的。
前任。
[''] ['']
我已经尝试在 SO 上搜索和搜索答案,并在 Pymel 和常规 python 文档中搜索我做错了什么或更好的方法,但我不得不承认我的知识范围到此为止。
我究竟做错了什么?有没有更好、更有效的方法来提取我需要的我丢失的数据?
谢谢阅读!