如何在字符串中使用 \?

How do I use \ in a string?

我正在尝试在我的 Python 代码中创建一个目录,但我不能在字符串中使用反斜杠 \。每次我这样做都会给我一个意外的令牌错误。

我希望我的代码看起来像这样:

dir = os.getcwd() + "\FolderIWantToCreate"

如果我使用 /(正斜杠),它会给我一个错误,因为我的目录路径使用反斜杠。但是,如果我在我的代码中的任何地方键入 \(反斜杠),即使在 "" 中,它也不会将反斜杠注册为字符串,而是表示意外标记。

我该如何克服这个问题?

dir = os.getcwd() + "\FolderIWantToCreate"

\是python中的转义字符。如果你想在字符串中使用 \ 你必须转义它,即:

"\"

更多信息,请参阅:https://docs.python.org/2.0/ref/strings.html

如果您正在处理路径并查看例如对于 OS 互兼容,请考虑使用 pathlib 包。有关如何使用它的更多信息,例如创建新文件夹,请参阅

如果您真的不得不使用该表示法,那么一个选项是将其设为 "raw" 字符串:

s = r'\FolderIWantToCreate'

更多信息,例如here.

使用特殊字符时请使用转义序列

dir = os.getcwd() + "\FolderIWantToCreate"

参考:2.4.1 String literals

您有两个选择:

  1. 您可以通过在 escape character \ 之前添加一个额外的 \ 来转义它,如下所示:"\FolderIWantToCreate",
  2. 你可以在字符串前使用r前缀来告诉python后面的字符串是一个raw string,像这样:r"\FolderIWantToCreate"

再补充一个我认为你应该知道的答案;

假设您在 Windows

您可以使用 os.path.join()os.sep 来解决您面临的问题。

我没有Windows虚拟机给你一个具体的例子。