2013-10-02 69 views
0

我是python的新手,因此任何帮助都将不胜感激。将字符串列表转换为xyz cooridnates列表python

我有一个.dat文件是按以下格式:

J 
    366 -1722 583 
    366 356 1783 
    866 789 1033 
    866 -1289 -167 
    366 -1722 583 
J 
    -500 -1472 150 
    0 -1039 -600 
    0 1039 600 
    -500 606 1350 
    -500 -1472 150 

的数字是XYZ坐标和J表示跳转位;每当J发生时,我都需要提起铅笔并转到下一个点继续绘制。

我想将这个文件读取到一个python文件中,并将值存储在一个列表中作为xyz坐标,这样我就可以使用pygame从它们中绘制直线。

到目前为止,我可以使用此代码

file = open('filename.dat', 'r') 
vlist = file.readlines() 
file.close() 
+1

'file'是保留字文件读入到一个列表。你也需要调用'close',(即'close()' –

+0

谢谢我只是使用file.dat作为文件名的一个例子。并忘记添加() – user2840327

+0

我不认为它实际上保留了...它只是一个内建的阴影...当你阅读关闭不会让你很多... –

回答

1
points= [list(map(int,v.split())) if v.strip().lower() != "j" else "JUMP" for v in vlist] 
+0

感谢您的帮助,但现在如果我打印出列表中的内容,J会变成跳跃,我希望所有的xyz点现在都是<地图对象在0x0000000002D67438>的一个变体。并且据我所知,我不能使用它来绘制 – user2840327

+0

编辑...我认为你使用的是python 2,其中map返回一个列表 –

+0

好的谢谢澄清这个作品! – user2840327