我有几个脚本来清理一些生成的HTML;使用BeautifulSoup的python脚本和Ruby脚本。这些删除不需要的标签和属性,将符号转换为html编码,摆脱过多的换行符,并确保文件以有效的UTF-8编码。
我可以从命令行运行这两个脚本,它们按预期工作;我可以从命令行在这个shell脚本中运行它们:
#!/bin/bash
HTMLPath=$1
echo $HTMLPath 2>&1 >> /Users/me/Desktop/log.txt
/usr/bin/python /Users/me/DevProj/script/cleanHTML.py "$HTMLPath" 2>&1 >> /Users/me/DevProj/logs/log.txt
/Users/me/.rvm/rubies/ruby-1.9.3-p374/bin/ruby /Users/me/DevProj/script/cleanupHtml.rb "$HTMLPath" 2>&1 >> /Users/me/DevProj/logs/log.txt
这也给出了预期的结果。
但是当我从Automator运行它们时,它会向它们提供要处理的html文件列表,python脚本会从文件中删除html编码−
(负号为-
的HTML编码)和我最终得到了白色空间。问题是,我需要保留那些减号,最好是−
,我需要它从Automator运行。
我认为它可能与Automator shell使用的python版本有关,所以我创建了shell脚本以确保它使用我在命令行/ bin / bash上使用的相同bash shell。
还有其他人遇到过这个问题吗?我是不是从Automator做错了什么?
在脚本中我添加了python --version >> log.txt
但它不会将python版本输出到日志中...我有一种潜在的怀疑,即Automator正在使用它自己的旧python库。
注意:当输入文件中有−
个字符串时,我才遇到此问题。否则它从Automator运行良好。 Automator导致了这个问题。