在操作文件之前检查文件是否存在也是一个很好的编程习惯。一般来说,判断文件夹或文件是否存在的常用方法有3种,分别是os模块、try语句和pathlib模块。
python学习网,大量的免费
,欢迎在线学习!
os模块
os模块中的os.path.exists(path)可以检测文件或文件夹是否存在,path为文件/文件夹的名称/绝对路径。返回结果为真/假
print os.path.exists("/untitled/chapter3.py")print os.path.exists("chapter3.py")
这种用法可以同时检测文件和文件夹,这也带来了问题。如果我想找到一个名为 helloworld 的文件,使用 exists 可能会命中同名的 helloworld 文件夹。这时候就用 os.path.isdir() 和 os.path.isfile() 来区分。如果要进一步判断文件是否可以操作,可以使用os.access(path, model),model是操作模式,如下
if __name__ == '__main__':
if os.access("/untitled/chapter3.py", os.F_OK):
print "File path is exist."
if os.access("/untitled/chapter3.py", os.R_OK):
print "File is accessible to read"
if os.access("/untitled/chapter3.py", os.W_OK):
print "File is accessible to write"
if os.access("/untitled/chapter3.py", os.X_OK):
print "File is accessible to execute"
try语句
操作文件最简单的方法是直接使用open()方法,但是文件不存在,或者open方法在出现权限问题时会报错,所以配合try语句来捕捉异常。 try...open 语法简洁优雅,可读性强,不需要引入任何模块
if __name__ == '__main__':
try:
f = open("/untitled/chapter3.py")
f.close()
except IOError:
print "File is not accessible."
pathlib模块
在python2中,pathlib属于第三方模块,需要单独安装。但是pathlib已经是python3中的内置模块了
pathlib 用法很简单,类似于open。先使用pathlib创建对象,然后使用exists()、is_file()等方法
if __name__ == '__main__':
path = pathlib.Path("chapter3.py")
print path.exists()
print path.is_file()
更多教程,请点击
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ 人工智能python好学吗?11/19
- ♥ 如何在 Python 中等待页面加载12/22
- ♥ 如何在python模块中传递参数10/26
- ♥ python安装路径可以改吗?09/04
- ♥ python判断是否为列表09/08
- ♥ 如何在python中定义函数返回值10/09
内容反馈