Python os.path.isfile() 方法



os.path 模块中的 isfile(path) 方法用于确定给定的路径名是否为现有的常规文件路径名。此方法遵循符号链接,因此它可以对指向常规文件的符号链接返回 True。

在处理文件路径时,此方法很有用,可以确保提供的路径恰好是现有的文件路径,而不是目录或无效路径。

语法

以下是该方法的语法:

os.path.isfile(path)

参数

以下是其参数的详细信息:

  • path: 此参数表示路径类对象,可以是表示文件系统路径的字符串或字节对象,也可以是实现了“os.PathLike”协议的对象。

返回值

该方法返回一个布尔值,True 表示提供的路径名“path”是现有的常规文件。而False 表示给定的路径不是常规文件,例如目录或文件不存在。

示例

让我们探索一些示例,以了解 os.path.isfile() 方法的工作原理。

示例

以下示例使用 os.path.isfile() 方法来确定给定的路径名“D:/MyFile.txt”是绝对路径名还是相对路径名。

# Import the os module
import os

# Define the path
path = 'D:/MyFile.txt'

# Check if the path is absolute
is_file = os.path.isfile(path)

# Print the result
if is_file:
    print(f'The given path: {path} is an existing regular file:', )
else:
    print(f"The given path: '{path}' does not point to an existing regular file or is not a file.")

输出

执行上述代码后,您将获得以下输出:

The given path: 'D:/MyFile.txt' does not point to an existing regular file or is not a file.

示例

在此示例中,以下路径名“mydir/../myfile.txt”被传递给 os.path.isfile() 方法,以确定它是否为现有的常规文件路径名。

# Import the os module
import os

# Define the path
path = 'mydir/../myfile.txt'

# Check if the path is absolute
is_file = os.path.isfile(path)

# Print the result
if is_file:
    print(f'The given path: {path} is an existing regular file:', )
else:
    print(f"The given path: '{path}' does not point to an existing regular file or is not a file.")

输出

在我们的在线编译器中执行上述代码后,将获得以下输出:

The given path: 'mydir/../myfile.txt' does not point to an existing regular file or is not a file.

示例

此示例使用 os.path.isfile() 方法和 __file__ 属性来检查当前脚本文件路径名是否为有效的路径。

# Import the os module
import os

# Define the path
path = __file__

# Check if the path is absolute
is_file = os.path.isfile(path)

# Print the result
if is_file:
    print(f'The given path: {path} is an existing regular file:', )
else:
    print(f"The given path: '{path}' does not point to an existing regular file or is not a file.")

输出

在我们的在线编译器中执行上述代码后,将获得以下输出:

The given path: /home/cg/root/66260f4adb57d/main.py is an existing regular file.
os_path_methods.htm
广告