Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python svgwrite绘图错误“;属性';的值无效;d';在svg元素<;路径>&引用;_Python_Svg_Minidom_Svgwrite - Fatal编程技术网

Python svgwrite绘图错误“;属性';的值无效;d';在svg元素<;路径>&引用;

Python svgwrite绘图错误“;属性';的值无效;d';在svg元素<;路径>&引用;,python,svg,minidom,svgwrite,Python,Svg,Minidom,Svgwrite,我尝试使用minidom从Python中的SVG中提取一条路径,然后使用svgwrite创建一个只包含第一条路径的新SVG 这是我提取第一条路径及其颜色的代码: from xml.dom import minidom # Read svg as xml document doc = minidom.parse('Target_logo.svg') # extract path coordinates path_strings = [path.getAttribute('d') for pa

我尝试使用minidom从Python中的SVG中提取一条路径,然后使用svgwrite创建一个只包含第一条路径的新SVG

这是我提取第一条路径及其颜色的代码:

from xml.dom import minidom

# Read svg as xml document
doc = minidom.parse('Target_logo.svg')  
# extract path coordinates
path_strings = [path.getAttribute('d') for path
                in doc.getElementsByTagName('path')]
# extract path colors
path_colors = [path.getAttribute('fill') for path
                in doc.getElementsByTagName('path')]

display(path_strings[0])
display(path_colors[0])
输出:

'M217.074,360.93c-71.239,0-129.052-57.721-129.052-128.972c0-71.38,57.813-129.059,129.052-129.059    c71.301,0,129.042,57.679,129.042,129.059C346.116,303.209,288.375,360.93,217.074,360.93 M217.074,38.459    c-106.796,0-193.399,86.625-193.399,193.499c0,106.792,86.603,193.39,193.399,193.39c106.842,0,193.581-86.598,193.581-193.39    C410.655,125.084,323.916,38.459,217.074,38.459z'
'#CC0000'
这是我创建新svg的代码(我将换行符中的空格替换为逗号,这不会导致错误):

第二个代码给出了以下错误:

TypeError: 'M217.074,360.93c-71.239,0-129.052-57.721-129.052-128.972c0-71.38,57.813-129.059,129.052-129.059,c71.301,0,129.042,57.679,129.042,129.059C346.116,303.209,288.375,360.93,217.074,360.93 M217.074,38.459,c-106.796,0-193.399,86.625-193.399,193.499c0,106.792,86.603,193.39,193.399,193.39c106.842,0,193.581-86.598,193.581-193.39,C410.655,125.084,323.916,38.459,217.074,38.459z' is not a valid value for attribute 'd' at svg-element <path>.
“代码”是一个错误。代码”是一个错误。代码”是一个错误。代码”是一个错误。代码”是一个错误。代码错误是:M217.077.077.077.052-128.972-7.970-12-7.787.077.077.077.077.077.077.072-12-12-12-12-12.12-12-128.970-128.970.970-7 7 7 7 7 7 7 7 7 7 7 7.970-7 7 7 7 7 7 7 7 7 7 7.780-7 7 7 7 7 7 7 7 7 7-7-7.780-7 7 7 7-7.780-7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7.780-7-7 7 7 7.780-7 7 7 7 7 7 7 7 7.787 7 7 7 7 7 7 7 7 7 7 7 7.787 7 581-193.39,C410.655125.084323.916,38.459217.074,38.459z'不是svg元素处属性“d”的有效值。 我尝试了几种方法,但不知道为什么不起作用

多谢各位

根据规定,逗号仅允许在数字之间使用,因此

-193.39,C410.655
无效。

根据逗号,仅允许在数字之间使用逗号,因此

-193.39,C410.655

无效。

非常感谢您的快速回答!我删除了字母旁边的逗号,但不幸的是,我仍然得到相同的错误。但是,当我在Chrome中打开一个带有此路径的SVG时,它会正确显示。您是否知道是什么导致了这个问题?这是Chrome中的一个已知错误,它的解析器没有完全遵循SVG规范。非常感谢您的快速回答!我删除了字母旁边的逗号,但不幸的是,我仍然得到相同的错误。但是,当我在Chrome中打开一个带有此路径的SVG时,它会正确显示。你知道是什么导致了这个问题吗?这是Chrome中的一个已知错误,它的解析器没有完全遵循SVG规范。