如何在python中查找目录及其子目录中的所有符号链接
我需要使用python列出符号链接。也坏了 我该怎么做?我到处找,试了很多 我发现最好的结果是:如何在python中查找目录及其子目录中的所有符号链接,python,Python,我需要使用python列出符号链接。也坏了 我该怎么做?我到处找,试了很多 我发现最好的结果是: import os,sys print '\n'.join([os.path.join(sys.argv[1],i) for i in os.listdir(sys.argv[1]) if os.path.islink(os.path.join(sys.argv[1],i))]) 它不会显示链接到的位置,也不会转到子目录。您可以使用类似于此的代码来实现所需的功能。要搜索的目录作
import os,sys
print '\n'.join([os.path.join(sys.argv[1],i)
for i in os.listdir(sys.argv[1]) if
os.path.islink(os.path.join(sys.argv[1],i))])
它不会显示链接到的位置,也不会转到子目录。您可以使用类似于此的代码来实现所需的功能。要搜索的目录作为参数传递,或者当前目录作为默认目录。您可以使用
os.walk
方法进一步修改它,使其递归
import sys, os
def lll(dirname):
for name in os.listdir(dirname):
if name not in (os.curdir, os.pardir):
full = os.path.join(dirname, name)
if os.path.isdir(full) and not os.path.islink(full):
lll(full)
elif os.path.islink(full):
print(name, '->', os.readlink(full))
def main(args):
if not args: args = [os.curdir]
first = 1
for arg in args:
if len(args) > 1:
if not first: print()
first = 0
print(arg + ':')
lll(arg)
if __name__ == '__main__':
main(sys.argv[1:])
Ref:如果您想转到subdirs,请使用
os.walk(followlinks=True)
。如果你想显示链接目标,请使用os.readlink
ah是的,我找到了它并添加了os.walk,但它仍然没有显示子目录