1

我有几个脚本来清理一些生成的 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 是导致问题的原因。

4

0 回答 0