我有一段代码:
g = open("spheretop1.stl", "r")
m = open("morelinestop1.gcode", "w")
searchlines = g.readlines()
file = ""
for i, line in enumerate(searchlines):
if X1 in line and Y1 in line:
m.write("start" + "\n")
X1='206.9799'和Y1='0.1218346'
此文件引用的行如下所示:
facet normal 4.650354e-002 -9.989174e-001 -1.217645e-003
outer loop
vertex 2.069799e+002 1.218346e-001 2.000000e+002
vertex 2.069756e+002 1.218346e-001 1.997564e+002
vertex 2.139428e+002 4.871899e-001 1.995131e+002
endloop
endfacet
我基本上只希望文件在X1和Y1在同一行并且是该行的前两个变量时写入“start”+“\n”,如上面第3行所示。所以我要做的是在x位置的直线上找到X1(左17个空格),在y位置的直线上找到Y1(左31个空格)。希望它清楚:)
我会用正则表达式。Live example。你知道吗
请注意,比较浮动可能是不精确的。你必须决定在比较价值时你愿意接受多少不精确性。可以使用这样的函数在一定精度内比较两个浮点值。你知道吗
相关问题 更多 >
编程相关推荐