在Python的目录中行走时,如何仅列出符号链接?
我需要在嵌套目录中更新数百个符号链接。我尝试使用os.walk
使用lastlinks = true
,但它给了我子目录和东西。
假设我具有以下目录结构:
output/
output/subdirectory_1/file_1.txt
output/subdirectory_2/file_2.txt
output/subdirectory_2/symlink_1.txt
output/subdirectory_2/subdirectory_2a/symlink_2.txt
output/symlink_3.txt
output/file_3.txt
我如何使用os.walk
(或标准库中的其他内容)可以给我类似于glob
的东西。 ?
for fp in [INSERT FUNCTION]:
print(fp)
output/subdirectory_2/symlink_1.txt
output/subdirectory_2/subdirectory_2a/symlink_2.txt
output/symlink_3.txt
这是我当前的代码,这是首选方法吗?
In [8]: symlinks = list()
...: for i, path in pv(enumerate(os.walk(".", followlinks=True))):
...: parent_directory, subdirectories, files = path
...: for name in subdirectories + files:
...: path_child = os.path.join(parent_directory, name)
...: if os.path.islink(path_child):
...: print(path_child)
I need to update hundreds of symlinks in a nested directory. I tried using os.walk
with followlinks=True
but it was giving me subdirectories and stuff.
Let's say I have the following directory structure:
output/
output/subdirectory_1/file_1.txt
output/subdirectory_2/file_2.txt
output/subdirectory_2/symlink_1.txt
output/subdirectory_2/subdirectory_2a/symlink_2.txt
output/symlink_3.txt
output/file_3.txt
How can I use os.walk
(or something else in the standard library) that can give me something similar to glob
? That is, like the following (order doesn't matter):
for fp in [INSERT FUNCTION]:
print(fp)
output/subdirectory_2/symlink_1.txt
output/subdirectory_2/subdirectory_2a/symlink_2.txt
output/symlink_3.txt
EDIT:
This is my current code, is this the preferred method?
In [8]: symlinks = list()
...: for i, path in pv(enumerate(os.walk(".", followlinks=True))):
...: parent_directory, subdirectories, files = path
...: for name in subdirectories + files:
...: path_child = os.path.join(parent_directory, name)
...: if os.path.islink(path_child):
...: print(path_child)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论