亲宝软件园·资讯

展开

python判断文件存在方式

JAPAN_is_shit 人气:0

前言

判断文件是否存在在实际应用中用的非常多,下面我们来归纳一下检查文件、文件夹是否存在的各种操作

一.检查文件夹/文件是否存在

1. os.path.exists()

文件夹,文件均可,文件无后缀时会和文件夹混淆

# 包括文件和文件夹,导入os.path
import os.path

ret_file = r'C:\Users\Administrator\Desktop\1.xlsx'
# 1  os.path加函数方法
def file_exists(ret_file):
    # 分不清是文件和文件夹
    res = os.path.exists(ret_file)
    return res
result = file_exists(ret_file)
print(result)

2. os.path.isfile()和os.path.isdir()

需要单独判断

import os.path

ret_file = r'C:\Users\Administrator\Desktop\1.xlsx'
#  分开做判断
def file_exists(ret_file):
    # 判断文件
    res1 = os.path.isfile(ret_file)
    # 判断文件夹
    res2 = os.path.isdir(ret_file)
    return (res1,res2)
result = file_exists(ret_file)
print(result)

3. os.access()

文件夹,文件均可,文件无后缀时会和文件夹混淆

import os
ret_file = r'C:\Users\Administrator\Desktop\1.xlsx'
def file_exists(ret_file):
    # # os.F_OK文件是否存在
    res = os.access(ret_file, os.F_OK)
    # # os.R_OK文件是否可读
    # res = os.access(ret_file, os.R_OK)
    # # os.W_OK文件是否可写
    # res = os.access(ret_file, os.W_OK)
    # os.X_OK文件是否可执行
    # res = os.access(ret_file, os.X_OK)

    return res

4. 异常判断

只能判断文件

#  直接读取文件,根据是否报错来判断文件是否存在(不能读取文件夹)
def file_exists(ret_file):
    try:
        # f = open(ret_file)
        # f.close()
        with open(ret_file) as f:
            pass
    except IOError:
        return False
    else:
        return True

5. lambda匿名函数(扩展)

import os.path
import os
#lambda 方法,这里只写一种os.path.exists()方式实现
file_exists = lambda file: os.path.exists(file)

总结

判断文件不存在后,按照惯例,下一步应该是新建文件、文件夹,然后再进行对文件、文件夹的操作

加载全部内容

相关教程
猜你喜欢
用户评论