我试图构建一个非常简单的python脚本来自动缩小/合并一些css/js资产。
我不知道如何正确处理缩小步骤。我使用yui压缩器,通常直接从命令行调用jar。
假设构建脚本与rhinojs.jar
和yui-compressor.jar
在同一个目录中,我就可以这样压缩css/js文件:
java -cp js.jar -jar yuicompressor-2.4.4.jar -o css/foo.min.css css/foo.css
从终端调用它可以很好地工作,但是在python构建文件中,它不能
例如,os.system("...")
返回的退出状态是0
,并且没有从命令返回任何输出(例如,当使用os.popen()
而不是os.system()
时)
我猜这与路径有关,也许是java在调用os.system()
时无法正确解析…有什么想法吗?
谢谢你的帮助
我有一个类似的例子,当我希望一个python程序建立一些命令并运行它们时,输出将发送给启动脚本的用户。我使用的代码是:
在我的例子中,我希望所有命令都运行error或not,这就是为什么我没有在error上引发异常的原因。另外,我希望任何消息都直接打印到终端,因此stdout和stderr都不是,这会导致它们不进入我的python程序。如果您对错误和消息的需求略有不同,请查看http://docs.python.org/library/subprocess.html文档,了解如何调整发生的情况。
(我请巴什替我执行我的命令,这样我就可以得到我通常走的路,引用的话等)
为什么要在Python中执行此操作?对于这样的任务,特别是Java,最好使用Apache Ant。用xml编写命令,然后运行ant。
当命令正确执行时,os.system应返回0。0是成功的标准返回代码。
从命令行运行时是否打印输出?
相关问题 更多 >
编程相关推荐