这里将先容三种判断文件或文件夹是否存在的方法,分别利用os模块、Try语句、pathlib模块。
1.利用os模块os模块中的os.path.exists()方法用于考验文件是否存在。
判断文件是否存在import osos.path.exists(test_file.txt)#Trueos.path.exists(no_exist_file.txt)#False
判断文件夹是否存在
import osos.path.exists(test_dir)#Trueos.path.exists(no_exist_dir)#False
可以看出用os.path.exists()方法,判断文件和文件夹是一样。
实在这种方法还是有个问题,假设你想检讨文件“test_data”是否存在,但是当前路径下有个叫“test_data”的文件夹,这样就可能涌现误判。为了避免这样的情形,可以这样做:
只检讨文件import osos.path.isfile("test-data")
通过这个方法,如果文件”test-data”不存在将返回False,反之返回True。
纵然文件存在,你可能还须要判断文件是否可进行读写操作。
判断文件是否可以做读写操作
利用os.access()方法判断文件是否可进行读写操作。
语法:
os.access(path, mode)
path为文件路径,mode为操作模式,有这么几种:
os.F_OK: 检讨文件是否存在;os.R_OK: 检讨文件是否可读;os.W_OK: 检讨文件是否可以写入;os.X_OK: 检讨文件是否可以实行该方法通过判断文件路径是否存在和各种访问模式的权限返回True或者False。
import osif os.access("/file/path/foo.txt", os.F_OK): print ("Given file path is exist.")if os.access("/file/path/foo.txt", os.R_OK): print ("File is accessible to read")if os.access("/file/path/foo.txt", os.W_OK): print ("File is accessible to write")if os.access("/file/path/foo.txt", os.X_OK): print ("File is accessible to execute")
2.利用Try语句
可以在程序中直策应用open()方法来检讨文件是否存在和可读写。
语法:
open()
如果你open的文件不存在,程序会抛出错误,利用try语句来捕获这个缺点。
程序无法访问文件,可能有很多缘故原由:
如果你open的文件不存在,将抛出一个FileNotFoundError的非常;文件存在,但是没有权限访问,会抛出一个PersmissionError的非常。以是可以利用下面的代码来判断文件是否存在:
try: f =open() f.close()except FileNotFoundError: print ("File is not found.")except PermissionError: print ("You don't have permission to access this file.")
实在没有必要去这么细致的处理每个非常,上面的这两个非常都是IOError的子类。以是可以将程序简化一下:
利用pathlib须要先利用文件路径来创建path工具。此路径可以是文件名或目录路径。 如果本文对你有帮助,别忘却给我个3连 ,点赞,转发,评论,,咱们下期见。 收藏 即是白嫖,点赞才是真情。 原文 https://www.cnblogs.com/python960410445/p/16427432.html'''学习中碰着问题没人解答?
path = pathlib.Path("path/file")path.exist()
检讨路径是否是文件path = pathlib.Path("path/file")path.is_file()