0

这简直令人抓狂——我有一个文件,中间有一个 & 符号。当我的 python 脚本打开它时,& 符号充当命令字符的结尾或其他东西......

谁能告诉我如何解决这个问题?或者更好的是,我很想知道在哪里可以找到终端的所有这些特殊字符的列表。

提前致谢

——一个麦克菜鸟

4

4 回答 4

2

Bash 命令&意味着在后台执行,它将 & 解释为命令而不是命令的参数,要么将其从文件名中删除,这无论如何都很好,要么将其转义为\&

于 2012-06-27T19:45:19.563 回答
2

您还可以用单引号将整个名称括起来。单引号可以保护文件名免受几乎所有类型的解释 - 和号、尖括号、空格等。它们通常比反斜杠更容易使用,因为您不需要专门将它们应用于每个麻烦的字符,您只需引用整个文件名。

现在,为什么这是Python脚本中的问题?你在做什么,shell 对文件名的处理是相关的?这听起来一点也不对。

于 2012-06-27T19:53:03.557 回答
0

您可以使用转义字符 \。因此,您所要做的就是在其中添加反斜杠:
open file&with&an&ampersand.txt
要做到这一点:
open file\&with\&an\&ampersand.txt

于 2014-09-05T14:22:34.197 回答
0

除了@Tom 的回答,我认为你必须在文件名中转义单引号,因为文件名中可以​​有单引号,你可以通过替换单引号来做到这一点,'"'"'请检查这个答案:https ://stackoverflow.com/a /1250279/427622

于 2016-05-11T03:36:51.063 回答