从AppleScript到Python的语法错误:意外的标记`<`
我正在使用以下命令从AppleScript向Python传递一个字符串。
字符串mytext包含一封电子邮件的HTML内容,开头是<...
AppleScript
display dialog (do shell script "/Users/mymac/Documents/'Microsoft User Data'/'Outlook Script Menu Items'/ test.py" & mytext)
Python
#!/usr/bin/env python
import sys
import string
def main():
print sys.argv[1:]
if __name__ == "__main__":
main()
我该如何解决这个错误呢?
2 个回答
0
问题在于你正在执行一个 shell 脚本... 这个脚本是通过拼接一长串文本来构建的。
比如说:"/Users/mymac/Documents/'Microsoft User Data'/'Outlook Script Menu Items'/ test.py" & " ... ")
但是,“<”和“>”这两个符号在 shell 中有特殊的含义。
2
你不想把HTML作为参数传给Python脚本。相反,可以这样做:
display dialog (do shell script "/Users/mymac/Documents/'Microsoft User Data'/'Outlook Script Menu Items'/ test.py < webpage.html")
print sys.stdin.read()