Python os.unlink()
os模块中的所有函数在文件名和路径无效或不可访问,或其他具有正确类型但操作系统不接受的参数时都会引发OSError。
Python中的os.unlink()方法用于删除或删除文件路径。此方法在语义上与os.remove()方法相同。
就像os.remove()方法它也不能删除或删除目录。如果给定的路径是一个目录,则此方法将引发IsADirectoryError异常。os.rmdir()方法可用于删除目录。
语法:os.unlink(path,*,dir_fd =None)
参数:
path:表示文件路径的类路径对象。类路径对象是表示路径的字符串或字节对象。
dir_fd(可选):指向目录的文件描述符。这个参数的默认值是None。
如果指定的路径是绝对路径,则忽略dir_fd。
注意:参数列表中的’ * ‘表示以下所有参数(在我们的例子中是’ dir_fd ‘)都是仅关键字参数,可以使用它们的名称提供它们,而不是作为位置参数。
返回类型:此方法不返回任何值。
示例1
使用os.unlink()方法来移除或删除一个文件路径
# Python program to explain os.unlink() method
# importing os module
import os
# File Path
path = "/home / ihritik / Documents / file1.txt"
# Remove the file path
# using os.unlink() method
os.unlink(path)
print("File path has been removed successfully")
输出:
File path has been removed successfully
示例2
如果给定的路径是一个目录
# Python program to explain os.unlink() method
# importing os module
import os
# Path
path = "/home / User / Documents / ihritik"
# if the given path
# is a directory then
# 'IsADirectoryError' exception
# will raised
# Remove the given
# file path
os.unlink(path)
print("File path has been removed successfully")
# Similarly, if the specified
# file path does not exists or
# is invalid then corresponding
# OSError will be raised
输出:
Traceback (most recent call last):
File "unlink.py", line 17, in
os.unlink(path)
IsADirectoryError: [Errno 21] Is a directory: '/home/User/Documents/ihritik'
示例3
处理使用os.unlink()方法时的错误
# Python program to explain os.unlink() method
# importing os module
import os
# path
path = '/home / User / Documents / ihritik'
# Try Removing the given
# file path using
# try and except block
try:
os.unlink(path)
print("File path removed successfully")
# If the given path is
# a directory
except IsADirectoryError:
print("The given path is a directory")
# If path is invalid
# or does not exists
except FileNotFoundError :
print("No such file or directory found.")
# If the process has not
# the permission to remove
# the given file path
except PermissionError:
print("Permission denied")
# For other errors
except :
print("File can not be removed")
输出:
The given path is a directory