美文网首页
文件存在吗?可以读取吗?——os大法

文件存在吗?可以读取吗?——os大法

作者: 求余的小屋 | 来源:发表于2019-06-24 11:28 被阅读0次

    昨天学到 os 模块中的两个函数
    可以用来检查,使用的文件是否存在于当前路径,以及是否有读取权限
    简要介绍用法,详细请参考python官方文档
    如有错误,欢迎指出。
    本人还是新手,望大佬包涵~

    一、检查文件是否存在于当前路径

    os.path.isfile(<filename>)
    

    如果存在,返回True,反之False

    二、检查当前文件是否具有读取权限

    os.access(<filename>, os.R_OK)
    

    如果具有该权限,返回True,反之False

    三、例子

    #! python2
    import sys
    import os
    
    if len(sys.argv) == 2: 
        filename = sys.argv[1]
        if not os.path.isfile(filename): #如果,没有这个文件,则输出提示信息,并退出程序
            print "[-] " + filename + " does not exist."
            sys.exit()
        if not os.access(filename, os.R_OK): #如果文件不具有读取权限,则输出提示信息,退出程序
            print "[-] " + filename + " access denied."
            sys.exit()
    
        print "[+] Reading From: " + filename #以上两个条件都满足后,提示正在读取文件
    
    else:
        print "[!] Useage " + str(sys.argv[0]) + " <filenam>" #如果没有输入脚本名称和文件,则提示使用方法
    
    with open(filename, 'r') as f: #打开文件,并逐行读取,输出在屏幕上
        for line in f.readlines():
            print(line.strip('\n'))
    

    四、总结

    1. if not False :等价于 if True:

    if not os.path.isfile(filename):
    

    如果没有这个文件存在,则输出报错信息。
    正所谓双重否定,表示肯定True。

    相关文章

      网友评论

          本文标题:文件存在吗?可以读取吗?——os大法

          本文链接:https://www.haomeiwen.com/subject/pmdnqctx.html