回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我在做一个项目。我有C++和java背景,但是我没有Python背景。
我给了txt文件如下:</p>
<blockquote>
<p>G1 X000 Y00<br/>
X00<br/>
Z000<br/>
G0 X121.212 Z5.32<br/>
X0.00 Y3.000</p>
</blockquote>
<p>我需要加G。。直到它看到新的G。可以是G1、G0或G5等。。所以结果如下</p>
<blockquote>
<p>G1 X000 Y00<br/>
G1 X00<br/>
G1 Z000<br/>
G0 X121.212 Z5.32<br/>
G0 X0.00 Y3.000</p>
</blockquote>
<p>我的代码在下面</p>
<pre><code>command = ""
with open('Model.ngc', 'r') as f:
with open("out.txt", "w") as f1:
for line in f:
if line in ['\n', '\r\n']:
f1.write(line)
elif line.startswith('M', 0, 1):
f1.write(line)
else:
command = line.split(' ', 1)[0]
if command == 'G0' or command == 'G00':
command = 'G00'
elif command == 'G1' or command == 'G01':
command = 'G01'
elif command == 'G2' or command == 'G02':
command = 'G02'
elif command == 'G3' or command == 'G03':
command = 'G03'
if (line.startswith('G0 ', 0, 3) or line.startswith('G1 ', 0, 3) or line.startswith('G2 ', 0, 3) or
line.startswith('G3 ', 0, 3) or line.startswith('G4 ', 0, 3) or line.startswith('G5 ', 0, 3) or
line.startswith('G6 ', 0, 3) or line.startswith('G7 ', 0, 3) or line.startswith('G8 ', 0, 3) or
line.startswith('G9 ', 0, 3)):
if command == 'G00':
f1.write(line.replace('G0', 'G00'))
elif command == 'G01':
f1.write(line.replace('G1', 'G01'))
elif command == 'G02':
f1.write(line.replace('G2', 'G02'))
elif command == 'G03':
f1.write(line.replace('G3', 'G03'))
elif command == 'G04':
f1.write(line.replace('G4', 'G04'))
elif command == 'G05':
f1.write(line.replace('G5', 'G05'))
elif command == 'G06':
f1.write(line.replace('G6', 'G06'))
print(command)
else:
# print(line)
if ( line.startswith('G00') or line.startswith('G01') or line.startswith('G02') or
line.startswith('G03') or line.startswith('G04') or line.startswith('G05') or
line.startswith('G06') or line.startswith('G07') or line.startswith('G08') or line.startswith('G09')):
# Because it can be already converted
f1.write(line)
else:
f1.write(command + line)
</code></pre>
<p>我正试图从上一行获取G1或G0,并将其分配给<strong><em>命令</em></strong>。它起作用了。当我试图在最后一个else语句中到达时,它显示我的<strong>命令</strong>
变量是空的,我不知道如何处理它</p>