📜  Python| os.DirEntry.is_symlink() 方法

📅  最后修改于: 2022-05-13 01:55:03.968000             🧑  作者: Mango

Python| os.DirEntry.is_symlink() 方法

Python中的OS 模块提供了与操作系统交互的功能。操作系统属于 Python 的标准实用程序模块。该模块提供了一种使用操作系统相关功能的可移植方式。

os 模块os.scandir()方法产生os.DirEntry对象,对应于指定路径给定的目录中的条目。 os.DirEntry对象具有各种属性和方法,用于暴露目录条目的文件路径和其他文件属性。

os.DirEntry对象上的is_symlink()方法用于检查条目是否为符号链接。

注意: os.DirEntry对象旨在在迭代后使用和丢弃,因为对象的属性和方法会缓存它们的值并且永远不会再次重新获取值。如果文件的元数据已更改,或者自调用os.scandir()方法以来已经过去了很长时间。我们不会获得最新信息。

代码 #1:使用os.DirEntry.is_symlink()方法

# Python program to explain os.DirEntry.is_symlink() method 
  
# importing os module  
import os
  
# Directory to be scanned
# Path
path = "/home / ihritik"
  
# Print all symbolic links
# in the above path
  
# Using os.scandir() method
# scan the specified directory
# and yield os.DirEntry object
# for each file and sub-directory
obj = os.scandir(path)
  
print("Symbolic links in the path '% s':" % path)
for entry in obj :
    # Check if the entry
    # is a symbolic link
    # using os.DirEntry.is_symlink() method
    if entry.is_symlink() :
        # Print symbolic link
        # full path    
        print(entry.path)
         
输出:
Symbolic links in the path '/home/ihritik':
/home/ihritik/file.txt
/home/ihritik/sample.py

代码: os.DirEntry.is_symlink()方法的使用

# Python program to explain os.DirEntry.is_symlink() method 
  
# importing os module  
import os
  
# Directory to be scanned
# Path
path = "/home / ihritik"
  
# Count number of
# symbolic links
# in the above path
  
# Using os.scandir() method
# scan the specified directory
# and yield os.DirEntry object
# for each file and sub-directory
obj = os.scandir(path)
  
count = 0;
  
for entry in obj :
    # Check if the entry
    # is a symbolic link
    # using os.DirEntry.is_symlink() method
    if entry.is_symlink() :
        count = count + 1
          
  
print("Count of symbolic links in the path '% s':" % path, count)
输出:
Count of symbolic links in the path '/home/ihritik': 2

参考资料: https://docs。 Python.org/3/library/os.html#os.DirEntry.is_symlink