在python中,os.chdir()无法使用相对路径

时间:2019-05-06 05:15:31

标签: python

我想使用os.chdir()将python中的工作目录从当前项目文件夹更改为项目文件夹中的现有文件夹,但是显示未找到文件错误。

import os

print(os.getcwd())

os.chdir("../NewDirectory/") #Error here

print(os.getcwd())

我希望输出:

C:\Users\John Doe\PycharmProjects\untitled
C:\Users\John Doe\PycharmProjects\untitled\NewDirectory

但是我得到了结果:

C:\Users\John Doe\PycharmProjects\untitled

Traceback (most recent call last):
  File "C:/Users/John Doe/PycharmProjects/untitled/miketest.py", line 5, in <module>
    os.chdir("../NewDirectory/")
FileNotFoundError: [WinError 2] The system cannot find the file specified: '../NewDirectory/'

1 个答案:

答案 0 :(得分:4)

您说NewDirectory存在于当前目录untitled中。

然后您的相对路径../NewDirectory不正确,因为它试图在当前目录的 parent 中找到NewDirectory。也就是说,它试图在NewDirectory中找到PycharmProjects;不存在。

os.chdir("NewDirectory")代替呼叫应该可以正常工作。 "NewDirectory"本身是一个相对路径,指的是当前目录中的目录。

如果要使其更明确,可以将其写为os.chdir("./NewDirectory"),以强调NewDirectory位于当前目录(.)内部的事实。