美文网首页
文件存在吗?可以读取吗?——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大法

    昨天学到 os 模块中的两个函数可以用来检查,使用的文件是否存在于当前路径,以及是否有读取权限简要介绍用法,详细请...

  • go语言文件操作汇总

    文件读取 读写参数 文件打开模式 权限控制 读取例子 os.Open || os.OpenFile readlin...

  • Python文件目录操作

    读取当前目录:os.getcwd 更改当前目录:os.chdir 读取当前目录文件和文件夹:os.listdir(...

  • golang 文件读写

    读文件 ReadFile直接读取 ReadAll 读取文件 Read方法读取 使用os.Open和bufio.Re...

  • 读取文件

    1.使用os包读取全部文件: 2.使用os包按照切片分片读取: 3.使用ioutil包读取全部文件: 4.使用bu...

  • 创建文件与读取文件

    本文主要内容1、创建文件2、读取文件 os模块 os.linesep变量ls = os.linesep ...

  • python3 文件I/O

    os.path:常用 open 打开文件 打开模式 读取文件内容 读取readline with:enter ex...

  • go语言文件读取以及IO操作

    文章目录 文件信息接口os.FileInfo 文件的常规操作 (os包) 文件的读取和写入 (io及os包) io...

  • golang 文件操作

    golang 文件操作 获取文件大小 "path/filepath" 读取文件 import ("fmt""os"...

  • python读取文件夹下所有文件名,排序

    python 读取某个文件夹下的所有的文件名,可以 直接用os.listdir(filePath)即可。 impo...

网友评论

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

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