FileNotFoundError [Errno 2] on os.getcwd()

Ray*_*emi 3 python python-3.x python-unittest

我收到 FileNotFoundError os.getcwd()

def setUp(self):
    try:
        self.previous_dir=os.getcwd()
    except:
        print("no file?")
    try:
        self.test_dir.mkdir(parents=True, exist_ok=True)
        os.chdir(self.test_dir)
        self.logger.debug(f'CDed to {self.test_dir}')
    except (IOError, TypeError) as ioe:
        self.logger.error(f'Unable to make or CD to {self.test_dir}')                
        sys.exit(1)
Run Code Online (Sandbox Code Playgroud)

self.previous_dir在 tearDown() 中执行 cd并删除临时目录。

它是否试图访问已删除的文件?

Ray*_*emi 6

答案是os.chdir()无意中被设置为删除的目录。该目录丢失,但错误发生(似乎)是在尝试使用os.getcwd().

我调试它 subprocess.run(['pwd'])