转义applescript的文件名

时间:2012-03-28 20:55:21

标签: python escaping applescript

我想通过AppleScript将mp3文件列表添加到iTunes。文件列表是在python中生成的,我在其中构建了applescripts。这里有一个例子:

osascript -e tell application "iTunes"  ...
to add POSIX file "SomeMP3FileWithSpecialCharacters"!$%&$.mp3"

但是如果文件名包含特殊字符,则它不起作用。我想我必须逃避Python中的文件名for applescript。那么我怎么能以最pythonic的方式做到这一点?

1 个答案:

答案 0 :(得分:1)

您可能想要尝试的一件事是将整个路径转换为字符串:

str('filepath_here')

如果这不起作用,可能下一个最简单的方法是使用python的正则表达式模块,如下所示:

>>> import re
>>> re.escape('filepath_with_bad_characters!//%')
'filepath\\_with\\_bad\\_characters\\!\\/\\/\\%'

或者,您可以使用re.sub仅转义某些字符。 re module documentation有更多信息。