gpt4 book ai didi

python - 检查目录是否为(文件系统)根目录

转载 作者:太空狗 更新时间:2023-10-29 19:31:57 29 4
gpt4 key购买 nike

我有一个脚本,用于搜索包含特定文件的目录,从当前目录开始向上爬(想想试图找出 .git 目录所在的位置)。

我的方法是这样的:

def getDir(self,cwd):
path = os.path.abspath(cwd)
if not os.path.isdir(path):
raise RuntimeError("getDir should not be run on files")
if FILE in os.listdir(path):
return path
parent = os.path.join(path, os.path.pardir)
if os.access(parent, os.R_OK) and os.access(parent, os.X_OK):
return self.getDir(parent)
else
return None

现在这个方法的问题是,如果它找不到目录,它就会循环(并最终堆栈溢出),因为显然加入 /.. 给出了你再次 / 。我尝试将 pathparent 或它们的 repr 进行比较,但这没有用(它们总是不同的)。我现在的解决方法是在递归方法中包含一个深度计数器并在某个随机最大阈值处停止。

因此,我的问题是,是否有一种可靠的跨平台方式来检查我是否已到达文件系统的根目录?

最佳答案

if os.path.dirname(path) == path:
# you have yourself root.
# works on Windows and *nix paths.
# does NOT work on Windows shares (\\server\share)

关于python - 检查目录是否为(文件系统)根目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9823143/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com