使用操作系统获取symlink。

2024-03-29 06:36:27 发布

您现在位置:Python中文网/ 问答频道 /正文

{1>使用cdm>遍历^我的目录。问题是我想识别一个文件是否是一个符号链接,而不是链接。此代码:

for root, dirs, files in os.walk(PROJECT_PATH):
    for f in files:
        # I want os.path.islink(f) to return true for symlink here
        # instead of ignoring them by default

不会给我符号链接,而这个代码

^{pr2}$

将遍历符号链接指向的目录,但不给我符号链接本身。谢谢。在


Tags: 文件path代码in目录projectforos
1条回答
网友
1楼 · 发布于 2024-03-29 06:36:27

os.walk()确实提供符号链接。有三件事需要考虑:

  • os.path.islink(f)不正确-必须在os.path.join(root, f)上调用os.path.islink

  • 指向目录的符号链接将包含在dirs中(但是不是后面的,除非您还指定了followlinks=True,这是不需要的,因为您不需要实际跟随它们)。

  • 指向非目录的符号链接将包含在files中。

相关问题 更多 >