精华内容
下载资源
问答
  • 在实际的工作当中,我们难免要与空值打交道,相信...一般来讲,Python中会把下面几种情况当做空值来处理:NoneFalse0,0.0,0L'',(),[],{}其中None的特殊之处在于,它既不是数值0,也不是某个数据结构的空值,它本身...

    在实际的工作当中,我们难免要与空值打交道,相信不少初学者都会写出下面的代码:

    if a is None:

    do something.

    else:

    do the other thing.

    这样写看起来不错,但实际上会有问题。一般来讲,Python中会把下面几种情况当做空值来处理:

    None

    False

    0,0.0,0L

    '',(),[],{}

    其中None的特殊之处在于,它既不是数值0,也不是某个数据结构的空值,它本身就是一个空值对象。它的类型是NoneType,它遵循单例模式,也就是说,在同一命名空间下的所有None其实质上都是同一个空值对象。

    >>> id(None)

    1795884240

    >>> None == 0

    False

    >>> None == ''

    False

    >>> a = None

    >>> id(a)

    1795884240

    >>> a == None

    True

    上面的判断显然不符合我们的期望:只有当a被显示赋值为None的情况下,a==None才为True。

    那么,对于Python中更为广义的None值判断,我们应该怎么做呢?

    >>> a = ''    #这里仅以空字符串为例,其他空值同样适用

    >>> if a:

    ...        print 'a is not empty'

    ...    else:

    ...        print 'a is a empty string'

    'a is a empty string.'

    可以看出,if a的判断方式得出了我们想要的结果,那么if a的判断方式究竟是一个怎样的过程呢?

    if a会首先去调用a的__nonzero__()去判断a是否为空,并返回True/False,若一个对象没有定义__nonzero__(),就去调用它的__len__()来进行判断(这里返回值为0代表空),若某一对象没有定义以上两种方法,则if a的结果永远为True

    接下来验证一下上面的说法:

    >>>class A(object):

    ...        def __nonzero__(self):

    ...            print 'running on the __nonzero__'

    ...            return True

    >>>class B(object):

    ...        def __len__(self):

    ...            print 'running on the __len__'

    ...            return False

    >>> a, b = A(), B()

    >>>if a:

    ...        print 'Yep'

    ...    else:

    ...        print 'Nop'

    running on the __nonzero__

    Yep

    >>>if b:

    ...        print 'Yep'

    ...    else:

    ...        print 'Nop'

    running on the __len__

    Nop

    展开全文
  • 方法1:比较类型第一种方法,就是判断对象的type是否为filepython>>>fp=open(r"/tmp/pythontab.com")>>>type(fp)>>>type(fp)==fileTrue注意:该方法对于从file继承...

    文件操作是开发中经常遇到的场景,那么如何判断一个对象是文件对象呢?下面我们总结了3种常见的方法。

    方法1:比较类型

    第一种方法,就是判断对象的type是否为filepython

    >>> fp = open(r"/tmp/pythontab.com")

    >>> type(fp)

    >>> type(fp) == file

    True

    注意:该方法对于从file继承而来的子类不适用, 看下面的实例class fileDetect(file):

    pass # 中间代码无所谓,直接跳过不处理

    fp2 = fileDetect(r"/tmp/pythontab.com")

    fileType = type(fp2)

    print(fileType)

    结果:

    方法2:isinstance方法

    《python坏事Python判断对象是否为文件对象(file object)的三种方法》总结了关于python培训教程,对于我们来确实能学到不少知识。

    要判断一个对象是否为文件对象(file object),可以直接用isinstance()判断。

    如下代码中,open得到的对象fp类型为file,当然是file的实例,而filename类型为str,自然不是file的实例>>> isinstance(fp, file)

    True

    >>> isinstance(fp2, file)

    True

    >>> filename = r"/tmp/pythontab.com"

    >>> type(filename)

    >>> isinstance(filename, file)

    False

    方法3:推测法

    在python中,类型并没有那么重要,重要的是”接口“。如果它走路像鸭子,叫声也像鸭子,我们就认为它是鸭子(起码在走路和叫声这样的行为上)。

    按照这个思路我们就有了第3中判断方法:判断一个对象是否具有可调用的read,write,close方法(属性)。

    参看:http://docs.python.org/glossary.html#term-file-objectdef isfile(f):

    """

    Check if object 'f' is readable file-like

    that it has callable attributes 'read' , 'write' and 'close'

    """

    try:

    if isinstance(getattr(f, "read"), collections.Callable)

    and isinstance(getattr(f, "write"), collections.Callable)

    and isinstance(getattr(f, "close"), collections.Callable):

    return True

    except AttributeError:

    pass

    return False

    更多:python坏事Python判断对象是否为文件对象(file object)的三种方法

    https://www.002pc.comhttps://www.002pc.com/python/2135.html

    你可能感兴趣的Python,object,file,对象,三种,文件

    No alive nodes found in your cluster

    0踩

    0 赞

    展开全文
  • 方法1:比较类型第一种方法,就是判断对象的type是否为file>>> fp = open(r"/tmp/pythontab.com")>>> type(fp)>>> type(fp) == fileTrue注意:该方法对于从file继承而来的子类不...

    文件操作是开发中经常遇到的场景,那么如何判断一个对象是文件对象呢?下面我们总结了3种常见的方法。

    方法1:比较类型

    第一种方法,就是判断对象的type是否为file

    >>> fp = open(r"/tmp/pythontab.com")

    >>> type(fp)

    >>> type(fp) == file

    True

    注意:该方法对于从file继承而来的子类不适用, 看下面的实例

    class fileDetect(file):

    pass # 中间代码无所谓,直接跳过不处理

    fp2 = fileDetect(r"/tmp/pythontab.com")

    fileType = type(fp2)

    print(fileType)

    结果:

    方法2:isinstance方法

    要判断一个对象是否为文件对象(file object),可以直接用isinstance()判断。

    如下代码中,open得到的对象fp类型为file,当然是file的实例,而filename类型为str,自然不是file的实例

    >>> isinstance(fp, file)

    True

    >>> isinstance(fp2, file)

    True

    >>> filename = r"/tmp/pythontab.com"

    >>> type(filename)

    >>> isinstance(filename, file)

    False

    方法3:推测法

    在python中,类型并没有那么重要,重要的是”接口“。如果它走路像鸭子,叫声也像鸭子,我们就认为它是鸭子(起码在走路和叫声这样的行为上)。

    按照这个思路我们就有了第3中判断方法:判断一个对象是否具有可调用的read,write,close方法(属性)。

    def isfile(f):

    """

    Check if object 'f' is readable file-like

    that it has callable attributes 'read' , 'write' and 'close'

    """

    try:

    if isinstance(getattr(f, "read"), collections.Callable) \

    and isinstance(getattr(f, "write"), collections.Callable) \

    and isinstance(getattr(f, "close"), collections.Callable):

    return True

    except AttributeError:

    pass

    return False

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

    时间: 2019-04-23

    展开全文
  • File-like objects are objects in Python that behave like a real file, e.g. have a read() and a write method(), but have a different implementation. It is and realization of the Duck Typing concept.It ...

    File-like objects are objects in Python that behave like a real file, e.g. have a read() and a write method(), but have a different implementation. It is and realization of the Duck Typing concept.

    It is considered good practice to allow a file-like object everywhere where a file is expected so that e.g. a StringIO or a Socket object can be used instead a real file. So it is bad to perform a check like this:

    if not isinstance(fp, file):

    raise something

    What is the best way to check if an object (e.g. a parameter of a method) is "file-like"?

    解决方案

    It is generally not good practice to have checks like this in your code at all unless you have special requirements.

    In Python the typing is dynamic, why do you feel need to check whether the object is file like, rather than just using it as if it was a file and handling the resulting error?

    Any check you can do is going to happen at runtime anyway so doing something like if not hasattr(fp, 'read') and raising some exception provides little more utility than just calling fp.read() and handling the resulting attribute error if the method does not exist.

    展开全文
  • 判断Python对象是不是为文件对象的方法有哪些发布时间:2020-08-13 14:01:00来源:亿速云阅读:76作者:小新这篇文章主要介绍判断Python对象是不是为文件对象的方法有哪些,文中介绍的非常详细,具有一定的参考价值...
  • python 判断文件是否存在,是否为空

    千次阅读 2020-07-15 19:34:25
    1. 判断文件是否为空 os.path.getsize()返回文件的字节数,如果为 0,则代表空。 import os file = "/home/abc/a.txt" if not os.path.getsize(file): os.remove(file) 2. 判断文件 / 文件夹是否存在 os....
  • 思路分析思路1: 获取文件大小, 验证文件大小是否为0(可以使用os库或pathlib库)思路2: 读取文件的第一个字符, 验证第一个字符是否存在二. 实现方法方法1: 思路1 + os库的path方法#-*-coding:utf-8-*-#@Time:2020/11/...
  • python 判断文件是否存在、是否为空

    千次阅读 2019-10-24 16:31:32
    文件是否存在 os.path.exists('xxx.xxx') 文件是否为空 os.path.getsize('xxx.xxx')
  • YDOOK: Python:os: 判断文件是否为空 判断文件内容是否为空 方法: size = os.path.getsize(file_path) 1. 结果:如果 size == 0,则文件内容为空; 2. 上述的 file_path 为需要判断大小的文件的存放路径。 源...
  • 我有一部分原本无法工作的代码,看起来是这样的:123456with open ("Names.txt" ,"r+") as f:f.seek(0)if f.read() =="" :print("No text")else :print ("Got text")它应该做的是检查文本文件是否有任何文本。...
  • 目录1.Python 代码判断是否为空目录1Python 代码判断是否为空目录import osimage_path = 'F:\\test\\frames'# 遍历文件夹及其子文件夹中的文件,并存储在一个列表中# 输入文件夹路径、空文件列...
  • Android平台进行数据存储的五大方式,分别如下:1 使用SharedPreferences存储数据2 文件存储数据3 SQLite数据库存储数据4 使用ContentProvider存储数据5 网络存储数据下面详细讲解这五种方式的特点第一种: 使用...
  • import os file_dir = 'D:/images/' files_list = os.listdir(file_dir) files=[] n=0 if len(files_list) >... print("当前文件夹不为空!!!") print(files_list) for k in files_list: print(k) ...
  • # 将每次运行的KS值存入一个文件,每次运行时加入文件,再读取文件画出连续一些天数的ks曲线图  if os.path.exists('./ks_accumulate.csv'):  if os.path.getsize('... print('文件存在且不为空')  ks_temp.t
  • 我们在使用 Python 或者 Ansible 来进行自动化任务的时候常常会进行一些数据的组合和提取来生成文件。但是我们需要不同的情况来做分析和进行判断。如果我们需要对返回的 list 来进行提取的时候我们常常只是运行一...
  • 1. 判断文件是否为空 os.path.getsize()返回文件的字节数,如果为0,则代表空。 import os file = "/home/abc/a.txt" if not os.path.getsize(file): os.remove(file) 2. 判断文件/文件夹是否存在 os.path....
  • python判断子文件夹是否为空文件夹

    万次阅读 2018-09-05 09:57:59
    python判断子文件夹是否为空文件夹,主要是os.listdir()和os.path.isdir()的运用代码如下 import os def search(path): files=os.listdir(path) #查找路径下的所有的文件夹及文件 for filee in files: f=str...
  • 一、代码实现如下: import os size = os.path.getsize('D:\\abc.txt') if size == 0: print("文件的") else: print("文件不是的")
  • /usr/bin/python import os def demo(path): if not os.listdir(path): print('kong') else: print('not kong') if __name__ == '__main__': path = raw_input('input_path:') try: demo(path) exc.
  • 一、pandas pandas 是基于NumPy 的一种工具,该工具是为解决数据分析任务而创建的。Pandas 纳入了大量库和...dataframe.empty加if条件判断文件是否为空,如果返回的dataframe为空,可能导致某些逻辑错误。 data = p

空空如也

空空如也

1 2 3 4 5 ... 8
收藏数 153
精华内容 61
关键字:

python判断文件是否为空

python 订阅