从脚本中运行Python scour SVG优化器而不是CLI

问题描述 投票:1回答:1

scour for Python在减少我使用matplotlib生成的SVG贴图的大小方面做得很好。

但是,该文档仅描述了如何从CLI运行单个文件,标准:

scour -i input.svg -o output.svg

从Python脚本/我的Jupyter笔记本中运行它(在批处理模式下)的最佳方法是什么?

我成功地“创建”了下面的工作代码并优化了500个SVG,令我满意。但我只是从testscour.py中删除了那些代码,我对此缺乏了解......

    from scour.scour import makeWellFormed, parse_args, scourString, scourXmlFile, start, run
    maps= os.listdir('C:\\Hugo\\Sites\\maps\\')
    for m in maps[:]:
        if afbeelding[-4:]=='.svg':
            inputfile = open('C:\\Hugo\\Sites\\maps\\' + m, 'rb')
            outputfile = open('C:\\Hugo\\Sites\\allecijfers\\static\\images\\maps\\' + m, 'wb')
            start(options, inputfile, outputfile)

相关问题(试图学习):为了找到合适的可调用函数,分解像scour这样的模块的最佳方法是什么? (我不会在scour.py中找到函数start)或者我是否可以从上面的Python脚本调用CLI命令以便以批处理模式执行它?

python-3.x matplotlib svg command-line-interface
1个回答
1
投票

我喜欢你的问题,因为它指向了testscour.py,非常感谢。

也就是说,代码首先导入scour,然后从你的map文件夹中创建一个列表;然后逐个浏览列表,如果它是一个svg,它使用“start”方法来调用scour。

所以工件是start(options, inputfile, outputfile)

请注意,它需要一个打开的文件处理程序,通常用“with”来表示。

玩得开心

© www.soinside.com 2019 - 2024. All rights reserved.