一日一技:用Python检查文件或目录是否存在

Python检查文件或目录是否存在

在本教程中,我们将学习如何使用Python检查文件(或目录)是否存在。为了检查这一点,我们使用python的内置函数,可以使用4种方法来验证文件或目录的存在,如下所示:

os.path.exists()

os.path.isfile()

os.path.isdir()

pathlibPath.exists()

os.path.exists()

使用path.exists()方法,可以快速检查文件或目录是否存在,

步骤1)在运行代码之前,导入os.path模块:

import os.path

from os import path

步骤2)使用path.exists()检查文件是否存在。

path.exists("guru99.txt")

步骤3)以下是完整代码

import os.path

from os import path

def main():

print ("File exists:"+str(path.exists('guru99.txt')))

print ("File exists:" + str(path.exists('career.guru99.txt')))

print ("directory exists:" + str(path.exists('myDirectory')))

if __name__== "__main__":

main()

输出:

File exists: True

File exists: False

directory exists: Falseos.path.isfile()

我们可以使用isfile()方法来检查给定的输入是文件还是目录,代码如下:

import os.path

from os import path

def main():

print ("Is it File?" + str(path.isfile('guru99.txt')))

print ("Is it File?" + str(path.isfile('myDirectory')))

if __name__== "__main__":

main()

输出:

Is it File? True

Is it File? Falseos.path.isdir()

如果要确认给定路径指向目录,可以使用os.path.dir()函数,代码如下:

import os.path

from os import path

def main():

print ("Is it Directory?" + str(path.isdir('guru99.txt')))

print ("Is it Directory?" + str(path.isdir('myDirectory')))

if __name__== "__main__":

main()

输出:

Is it Directory? False

Is it Directory? True适用于Python 3.4的pathlibPath.exists()

Python 3.4及更高版本具有pathlib模块,用于处理文件系统路径。它使用面向对象的方法来检查文件是否存在,代码如下:

import pathlib

file = pathlib.Path("guru99.txt")

if file.exists ():

print ("File exist")

else:

print ("File not exist")

输出:

File exist

以下是完整的代码:

import os

from os import path

def main():

print(os.name)

print("Item exists:" + str(path.exists("guru99.txt")))

print("Item is a file: " + str(path.isfile("guru99.txt")))

print("Item is a directory: " + str(path.isdir("guru99.txt")))

if __name__ == "__main__":

main()

输出:

Item exists: True

Item is a file: True

Item is a directory: False

总结如下:

os.path.exists()–如果路径或目录存在,则返回True。

os.path.isfile()–如果路径为File,则返回True。

os.path.isdir()-如果路径是Directory,则返回True。

pathlib.Path.exists()-如果路径或目录存在,则返回True。(要求在Python 3.4及更高版本中应用)

希望这篇文章对你们有用,

欢迎在下方讨论留言,

谢谢关注.