将换行符插入到python字典定义中?

时间:2017-12-22 00:15:36

标签: python

请原谅我有任何错误,因为这是我第一次在这里发帖,而且我不用Python编码。

我正在尝试编辑InkScape扩展,在其中它们有一段代码(我相信是字典?),它在GCode块之前和之后添加了行。

见到这里:

self.tools = {
    "name": "Laser Engraver",
    "id": "Laser Engraver",
    "penetration feed": self.options.laser_speed,
    "feed": self.options.laser_speed,
    "gcode before path": ("G0 Z0.1"),
    "gcode after path": ("G0 F" + self.options.travel_speed),
}

我希望这段代码打印出行进速度的部分(我相信定义是什么?):

"gcode after path": ("G0 F" + self.options.travel_speed),

还要打印一条名为“G0 Z5”的新行

我的问题是我该如何做到这一点。

我会用逗号分隔后添加它,如:

"gcode after path": ("G0 F" + self.options.travel_speed),("G0 Z5"),

或者我在中间使用\ n,如:

"gcode after path": ("G0 F" + self.options.travel_speed \n "G0 Z5"),

或者我将两者分成两个部分,如:

"gcode after path": ("G0 F" + self.options.travel_speed);("G0 Z5"),

或者还有其他方法我还没找到?

稍作澄清,输出目前看起来像这样:

G0 Z0.1
G0 X-69.535 Y-75.5701
G0 F3000

G0 Z0.1
G1 X-69.4779 Y-75.4004F200.000000
G1 X-69.3627 Y-75.3433
G1 X-69.23 Y-75.2775
G0 F3000

我正在寻找它:

G0 Z0.1
G0 X-69.535 Y-75.5701
G0 F3000
G0 Z5

G0 Z0.1
G1 X-69.4779 Y-75.4004F200.000000
G1 X-69.3627 Y-75.3433
G1 X-69.23 Y-75.2775
G0 F3000
G0 Z5

提前谢谢。

2 个答案:

答案 0 :(得分:0)

您概述的任何替代方案都不起作用 - 这三个都是语法错误。

在字符串中放置换行符的简单方法是包含换行符。假设代码中此时self.options.travel_speed是一个字符串,例如:

'gcode after path': 'G0 F' + self.options.travel_speed + '\nG0 Z5'

更一般地说,您可以通过以下方式将字符串的列表或元组与换行符分开:

'gcode after path': '\n'.join('G0 F' + self.options.travel_speed, 'G0 Z5', something_else)

我不熟悉您的应用,因此您可能需要先将speed转换为字符串。

答案 1 :(得分:0)

Galen和克里斯约翰逊说, 将定义更改为如下所示:

"gcode after path": ("G0 F" + self.options.travel_speed + "\nG0 Z5"),

给我所需的输出:

G0 Z0.1 < Before Path
G0 F200.000000
G1 X105.6317 Y96.7619 < Path
G1 X105.6317 Y45.9619 < Path
G1 X65.3143 Y45.9619 < Path
G1 X65.3143 Y96.7619 < Path
G0 F3000 < After Path
G0 Z0.5 < After Path
G0 X49.9936 Y225.7778
G0 Z0.1
G0 F200.000000
G1 X137.8857 Y225.7778
G1 X137.8857 Y141.9175
G1 X49.9936 Y141.9175
G1 X49.9936 Y225.7778
G0 F3000
G0 Z0.5

谢谢大家的帮助!