我正在做一些项目。我有C ++和Java背景但我没有python背景。 我给出了如下的txt文件:
G1 X000 Y00
X00
Z000
G0 X121.212 Z5.32
X0.00 Y3.000
我需要将G ..添加到下一行,直到它看到新的G ..它可以是G1或G0或G5等。所以结果如下所示
G1 X000 Y00
G1 X00
G1 Z000
G0 X121.212 Z5.32
G0 X0.00 Y3.000
我的代码如下。
[1:3; 5:0; 10:12; ...]
我正在尝试从上一行获取G1或G0并分配给 命令 。有用。当我尝试在最后的 else语句中时,它会显示我的命令 变量是空的,我不知道如何处理它。
答案 0 :(得分:0)
拆分每一行并检查第一个单词是否以G开头。如果是,则将其作为要添加为前缀pre
的单词。
如果该行没有前缀,则将存储的单词与带空格的行一起加入!!
pre=""
for line in f1.read().splitlines():
word = line.split()
if word and word[0] and word[0][0]=="G":
pre=word[0]
else:
line = " ".join([pre, line])
print line
输出
G1 X000 Y00
G1 X00
G1 Z000
G0 X121.212 Z5.32
G0 X0.00 Y3.000
希望它有所帮助!
答案 1 :(得分:0)
您可以检查'G'in string,将其子串并将其用于没有的行。 我试试了,
with open('newfile.txt','r') as f:
Gval = 'G0'
newlines=[]
for line in f:
if 'G' in line:
Gval = line[line.index('G'):line.index(' ')]
newlines.append(line)
else:
l = Gval+' '+line
newlines.append(l)
f.close()
newf = open('filenew.txt','w')
for item in newlines:
newf.write("%s"%item)
newf.close()