os.getcwd() 抛出异常
我遇到了一个情况,就是当前的目录变得无效了(比如,有程序把它删除了)。我的Python脚本调用了 os.getcwd()
,结果出现了以下错误:
OSError: [Errno 2] 没有这样的文件或目录
理想情况下,我希望我的脚本在这种情况下能自动切换到上一级目录。请问有什么好的方法来实现这个呢?
另外,如果我在命令行中尝试 ls
,我会看到 ls: 无法打开目录 .: 过期的 NFS 文件句柄
。
1 个回答
2
理想情况下,我希望我的脚本在这种情况下能自动切换到上级目录。实现这个的推荐策略是什么?
只需使用 try/except
代码块就可以了,这就是它的用途嘛 :)
try:
os.getcwd()
except OSError:
os.chdir("..")
os.getcwd()
或者类似的东西...
[编辑] 不过我觉得这种情况对你的应用来说真的很糟糕,比如目录被删除了,或者NFS连接断了等等,可能不应该仅仅通过切换目录来忽略这个问题——当然这要看你的应用具体情况...