gpt4 book ai didi

python - 如何使用 os.walk() 在 Python 中处理 OSX 别名?

转载 作者:行者123 更新时间:2023-11-28 19:22:21 28 4
gpt4 key购买 nike

我正在使用 Python 2.7.x 遍历目录树,在遍历时获取文件和目录的大小。我遇到的问题是它误将别名文件当作目录,然后抛出“没有这样的文件或目录”的错误。

代码如下:

def get_size(start_path = '.'):
total_size = 0
for dirpath, dirnames, filenames in os.walk(start_path):
for f in filenames:
fp = os.path.join(dirpath, f)
total_size += os.path.getsize(fp)
return total_size

for dirName, subdirList, fileList in os.walk(rootDir, topdown=False):

dirSize = get_size(dirName) #this throws an error on alias files

for fname in fileList:
#do other things

我也尝试了 os.path.isdir() 但它不起作用。此外,我尝试了

return File.FSResolveAliasFile(path, True)[0].as_pathname()

但这似乎并没有提取所有别名文件。

有什么想法吗?

最佳答案

请参阅我对 https://stackoverflow.com/a/21197881/838253 的评论背景。

简短的回答是您不能在 Python 中执行此操作。有一个解析别名的库,但这依赖于一个过时的 Carbon 库,并且不再有效。

您可以在终端检测别名。

可能是因为别名有扩展属性才可以区分的。

关于python - 如何使用 os.walk() 在 Python 中处理 OSX 别名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22262791/

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