10

我正在尝试使用 os.chdir 更改 python 中的当前工作目录。我有以下代码:

import os

os.chdir("C:\Users\Josh\Desktop\20130216")

但是,当我运行它时,它似乎更改了目录,因为它出现以下错误消息:

Traceback (most recent call last):
File "C:\Users\Josh\Desktop\LapseBot 1.0\LapseBot.py", line 3, in <module>
os.chdir("C:\Users\Josh\Desktop\20130216")
WindowsError: [Error 2] The system cannot find the file specified
  'C:\\Users\\Josh\\Desktop\x8130216'

谁能帮我?

4

5 回答 5

27

Python\2013将路径的一部分解释为转义序列 \201,它映射到字符\x81ü (当然,C:\Users\Josh\Desktopü30216不存在)。

使用原始字符串,以确保 Python 不会尝试将 a 后面的任何内容解释\为转义序列。

os.chdir(r"C:\Users\Josh\Desktop\20130216")
于 2013-06-26T17:14:23.593 回答
4

您也可以使用os.path.join文档)。例子:

os.chdir(os.path.join('C:\Users\Josh\Desktop', '20130216'))

这更优雅+它与不同的操作系统兼容。

于 2013-06-26T17:17:38.013 回答
3

这应该工作 -

os.chdir("C:\Users\Josh\Desktop\\20130216")
于 2013-06-26T17:11:34.910 回答
0

有两个使用os.chdir()

  1. 如果您使用的是原始字符串而不是使用单个反斜杠\

    os.chdir(r"C:\Users\Josh\Desktop\20130216")

或者

  1. 如果您不使用原始字符串而不是使用双反斜杠\\

    os.chdir("C:\Users\Josh\Desktop\20130216")

于 2017-07-13T18:58:25.010 回答
-1

我遇到了同样的问题,但你必须尝试:

os.chdir(c:\\user\\Josh\\Desktop)

使用\\所以也许你应该得到你的解决方案。

于 2016-02-23T21:14:20.850 回答