在 Python 中检查生成器是否为空
本文讨论如何在 Python 中检查生成器是否为空。
在 Python 中检查生成器是否为空
在 Python 中检查生成器是否为空是指检查路径以确保它为空。 为此,必须事先将相关路径标识为目录或文件,这使我们可以选择所需的检查方式来轻松使用。
以下代码片段显示了两个名为 filepath 和 dirpath 的占位符变量的参与。 这些变量用于识别本地文件和目录:
dirpath = "/mnt/f/code.books/articles/python"
filepath = "/mnt/f/code.books/articles/python/code/file_dir.py"
上述占位符变量可以与作为标准包的 Python 中的 os 模块一起使用。 它可以与适用于相关操作系统的对象、函数和常量一起使用。
os 模块也可以表示为 os.path 并涉及作为函数工作的 isdir()
和 isfile()
。 这些功能使用户能够区分给定的目录和任何文件。
两个函数工作时的返回值都是布尔值。
考虑以下示例:
import os
dirpath = "/mnt/f/code.books/articles/python"
filepath = "/mnt/f/code.books/articles/python/code/file_dir.py"
os.path.isfile (dirpath) # False
os.path.isdir (dirpath) # True
os.path.isfile (filepath) # True
os.path.isdir (filepath) # False
isdir()
和 isfile()
函数在此示例中分别表示为 os.path.isdir 和 os.path.isfile。 两个函数工作时的返回值都是布尔值。
这意味着这些函数的执行输出应该返回 True 或 False。 True 和 False 的返回值根据其各自的功能显示相关路径是文件还是目录。
经此确认后,在Python 3.4及以后版本可以使用另一个名为pathlib的模块。 使用此模块,面向对象的界面使用户能够轻松地使用他们的文件系统。
与 os.path 模块相比,该模块确保了实现中的简化。 它有一个 Path 类参与其工作,并接受一个路径作为参数。
在此之后,该路径返回一个 Path 对象,因此用户可以轻松地使用属性和方法链接或查询它。
看看下面的代码片段:
from pathlib import Path
dirpath = "/mnt/f/code.books/articles/python"
filepath = "/mnt/f/code.books/articles/python/code/file_dir.py"
Path (dirpath).is_file() # False
Path (dirpath).is_dir() # True
Path (filepath).is_file() # True
Path (dirpath).is_file() # False
在此代码段中,检查 Path 对象以确保它是一个目录或一个具有布尔值作为返回值的文件。 dirpath 和 filepath 变量也涉及与 is_file() 和 is_dir() 方法关联的 Path 对象。
它们的实现将返回 True 或 False 的输出,将目录或文件显示为对象。
下一步是检查生成器是否为空并且可能涉及空路径或文件。 路径或文件也可以命名为零字节文件,并且可以是没有内容或数据的不同类型。
请记住,包含没有数据的元数据的文件不属于空文件的范畴。 这甚至可能涉及包含作者的音乐文件。
可以在 macOS 和 LINUX 等平台上轻松创建空文件。 以下是如何做到这一点的片段:
$ touch emptyfile
以下代码片段显示了如何在 Windows 上执行此操作:
$ type nul > emptyfile
这样做之后,我们必须定义非空文件或空文件可以指向空文件的变量。 该空文件可能是零字节,而非空文件的大小是一个字节。
以下是一个示例:
emptyfile = "/mnt/f/code.books/articles/python/emptyfile"
nonemptyfile = "/mnt/f/code.books/articles/python/onebytefile”
有了这个,一个可选参数可以用于 next()
函数,用户可以使用它来确保生成器是空的。
这是一个代码片段:
_exhausted = object()
if next (some_generator, _exhausted) is _exhausted:
print ('empty generator')
在这个片段中,空生成器由一个耗尽的迭代器和一个对象的用法表示。 在此之后,一个 if 条件被放置在实现中,它检查具有一些生成器值的耗尽生成器。
在空生成器的情况下,条件满足,并且实现返回一个空生成器作为其输出。
相关文章
在 Python 中使用 PhantomJS
发布时间:2023/06/02 浏览次数:107 分类:Python
-
这篇 Python 文章将研究 PhantomJS 以及我们如何将它与用于 Python 编程的 Selenium Web 自动化模块一起使用。 我们还将研究为什么它比其他可用的自动化 Web 驱动程序更有用。
Python 查询 DynamoDB
发布时间:2023/06/02 浏览次数:127 分类:Python
-
本文将讨论如何使用 python 查询 Amazon DynamoDB。 我们还将讨论 Boto3 是什么以及它为什么需要查询 DynamoDB。
创建 Python 脚本以在 Linux 中打开新终端并运行命令
发布时间:2023/06/02 浏览次数:54 分类:Python
-
Linux 操作系统以其程序员广泛使用的多功能终端而闻名。创建在 Linux 中打开新终端并运行命令的 Python 脚本
Python Crc32 介绍
发布时间:2023/06/02 浏览次数:182 分类:Python
-
本篇文章将介绍使用 Python 中的 binascii 或 zlib 库计算数据的 crc32。Python CRC32 。CRC32 是数据的校验和,也称为循环冗余校验,用于检查数据的数字传输中存在的错误。
在 Python 中使用 Luhn 算法验证数字
发布时间:2023/06/02 浏览次数:164 分类:Python
-
这篇文章解释了用 Python 编写 Luhn 算法并根据算法验证数字。在 Python 中使用 Luhn 算法验证数字 Luhn 算法验证器有助于检查合法数字并将其与不正确或拼写错误的输入分开。
Python - 匹配多行文本块的正则表达式
发布时间:2023/06/02 浏览次数:192 分类:Python
-
本文讨论了在多行字符串中搜索特定模式的方法。 该解决方案折衷了已知和未知模式的几种方法,并解释了匹配模式的工作原理。编写正则表达式以匹配多行字符串的原因
在 Python 中使用正则表达式捕获组
发布时间:2023/06/02 浏览次数:78 分类:Python
-
本篇文章介绍了如何借助 Python 中的正则表达式捕获组。 我们还将了解这些群体以及我们如何捕获它们。 让我们开始吧。在 Python 中使用正则表达式捕获组
Python 正则表达式转义
发布时间:2023/06/02 浏览次数:64 分类:Python
-
这篇文章是关于 Python 正则表达式转义的。 此外,我们将介绍 Python 正则表达式转义以及如何通过适当的示例代码使用它,以及 Python 正则表达式的多种用途。
在 Python 中使用 Re 模块的正则表达式通配符
发布时间:2023/06/02 浏览次数:51 分类:Python
-
通配符在正则表达式中用作表示或交换一个或多个字符的符号。 这些主要用于简化搜索条件。本文详细解释了如何在 Python 中使用带有通配符的 re.sub() 来匹配字符串与正则表达式。使用 re.sub