在本教程中,我们将学习如何使用Python检查文件(或目录)是否存在。 为了检查这一点,我们使用python的内置函数,可以使用4种方法来验证文件或目录的存在,如下所示:os.path.exists()os.path.isfile()os.path.isdir()pathlibPath.exists()
os.path.exists()
使用path.exists()方法,可以快速检查文件或目录是否存在,
步骤1)在运行代码之前,导入os.path模块:
import os.pathfrom os import path
步骤2)使用path.exists()检查文件是否存在。
path.exists("guru99.txt")
步骤3)以下是完整代码
import os.pathfrom os import pathdef 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()
方便测试,我们仅在工作目录中创建文件guru99.txt
输出:
File exists: TrueFile exists: Falsedirectory exists: False
os.path.isfile()
我们可以使用isfile()方法来检查给定的输入是文件还是目录,代码如下:
import os.pathfrom os import pathdef 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? TrueIs it File? False
os.path.isdir()
如果要确认给定路径指向目录,可以使用os.path.dir()函数,代码如下:
import os.pathfrom os import pathdef 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? FalseIs it Directory? True
适用于Python 3.4的pathlibPath.exists()
Python 3.4及更高版本具有pathlib模块,用于处理文件系统路径。 它使用面向对象的方法来检查文件是否存在,代码如下:
import pathlibfile = pathlib.Path("guru99.txt")if file.exists (): print ("File exist")else: print ("File not exist")
输出:
File exist
以下是完整的代码:
import osfrom os import pathdef 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: TrueItem is a file: TrueItem 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及更高版本中应用)