我决定为3D打印机编写一个程序,将字符串转换为g代码字符串。问题与模块有关,该模块从不必要的垃圾中清除了切片器生成的文件,并留下了清晰的g代码。
g代码文件具有以下结构:标头,g代码正文和页脚。 标头的结尾和g代码主体的开头始终是已知的。为了找到开始,我使用索引(211):
const
但是要预测g代码主体将在哪里结束并且页脚将在哪里开始是不可能的。
这是我的问题开始的地方。使用此代码,模块将所有行(从第211行)写入到新文件(包括页脚)。
当遇到等于“ G1 E-1.7000 F1800 \ r \ n”的字符串时,如何停止记录-所有文件中的字符串都相同。
答案 0 :(得分:0)
您可能正在python中寻找break
关键字。像这样使用时
for index, line in enumerate(string_list_form_old_file, start=1):
if "G1 E-1.7000 F1800" in line:
break
if index == 202:
new_file.write(line)
if index >= 211:
new_file.write(line)
程序在行中遇到字符串for
时,将退出G1 E-1.7000 F1800
循环。
请注意,您还可以对包括换行符和回车符的字符串进行硬比较,但是字符串比较通常比较困难。但是,如果上面的示例在另一个上下文(例如注释)中遇到字符串,则也可能会跳出循环。
答案 1 :(得分:0)
答案 2 :(得分:0)
通过长期搜索错误,我重新检查了一次,是否在文件中准确地找到了“ G1 E-1.7000 F1800”。原来没有...