os.chdir 相对路径错误

Abh*_*tia 3 python python-2.7

import os,pdb
import sys
print os.path.dirname(os.path.realpath(__file__))
pdb.set_trace()
os.chdir('../bci_framework')
Run Code Online (Sandbox Code Playgroud)

输出:

D:\baseline\BCI-Comparison-Framework\bci_framework
WindowsError: (2, 'The system cannot find the file specified', '../bci_framework')
Run Code Online (Sandbox Code Playgroud)

为什么?文件夹存在!

dav*_*ism 6

文件在目录中bci_framework,这就是为什么打印出它的路径会向您显示该目录,但不是。无论你在哪里,它都没有bci_framework作为兄弟姐妹。

打印出来os.getcwd()以确定您当前的位置。任何相对路径chdir都将相对于该位置,而不是文件的位置。

例如,如果您在stackoverflow下面的目录中并运行python ./abhishek/bci_framework/my_file.py,则您的当前目录是stackoverflow. 上一级目录将不包含该bci_framework目录。

stackoverflow/
    davidism/
    abhishek/
        bci_framework/
            my_file.py
Run Code Online (Sandbox Code Playgroud)