【发布时间】:2015-10-02 22:29:28
【问题描述】:
我有一个程序从.txt 文件中获取数字并将其放入array。问题是这些数字不是孤立的或有序的。 .txt 文件如下所示:
G40 Z=10
A=30 X10 Y50
A=30 X40 Y15
A=50 X39 Y14
G40 Z=11
A=30 X10 Y50
A=30 X40 Y15
A=50 X39 Y14
输出应该是具有以下数组格式的新.txt 文件
X Y Z
10 50 10
40 15 10
39 14 10
10 50 11
40 15 11
39 14 11
这是我到目前为止所做的,虽然我不确定如何将输出写入新文件...
inputfile = open('circletest1.gcode' , 'r')
def find_between( s, first, last ):
try:
start = s.index( first ) + len( first )
end = s.index( last, start )
return s[start:end]
except ValueError:
return ""
for i in range(203): inputfile.next() # skip first 203 lines
while True:
my_text = inputfile.readline()
z = find_between(my_text, "Z =", " ")
x = find_between(my_text, "X", " ")
y = find_between(my_text, "Y", " ")
print(x ," ", y, " ", z)
if not my_text:break
inputfile.close()
有一段时间我收到缩进错误,但我相信我已经解决了这个问题。现在我收到的错误消息是“值错误:混合迭代和读取方法会丢失数据”。
我不确定从这里去哪里,也不确定如何将我的结果导入另一个单独的新 txt 文件。
另外,在我的代码中,有没有办法在循环之外保留 z 值,直到分配新的 z 值?
【问题讨论】:
标签: python arrays string parsing