首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么在函数的其余部分正常运行的情况下,我的python日志没有被填充?

在函数的其余部分正常运行的情况下,如果你的Python日志没有被填充,可能有以下几个原因:

  1. 日志级别设置不正确:Python的日志模块提供了不同的日志级别,包括DEBUG、INFO、WARNING、ERROR和CRITICAL。如果你的日志级别设置为DEBUG,但是日志消息的级别比DEBUG级别低,那么这些消息将不会被记录。你可以通过设置日志级别为DEBUG来确保所有级别的日志消息都被记录。
  2. 日志处理器配置错误:Python的日志模块使用处理器来决定日志消息的输出方式,例如将日志消息写入文件、打印到控制台或发送到远程服务器。如果你的日志处理器配置错误,可能导致日志消息没有被正确处理。你可以检查你的日志处理器配置,确保它们正确地将日志消息输出到你期望的位置。
  3. 日志记录器名称错误:在Python的日志模块中,日志消息是通过日志记录器来进行记录的。每个日志记录器都有一个名称,你需要使用正确的日志记录器名称来记录日志消息。如果你使用了错误的日志记录器名称,那么日志消息将不会被记录。你可以检查你的日志记录器名称,确保它们与你的代码中的日志记录器名称一致。
  4. 日志消息被过滤掉:Python的日志模块提供了过滤器功能,可以根据一定的条件来过滤掉某些日志消息。如果你的日志消息被设置了过滤器,并且不满足过滤条件,那么这些消息将不会被记录。你可以检查你的日志过滤器配置,确保它们不会过滤掉你的日志消息。

总之,如果在函数的其余部分正常运行的情况下,你的Python日志没有被填充,你可以检查日志级别、日志处理器配置、日志记录器名称和日志过滤器配置,以确保日志消息被正确记录。如果问题仍然存在,你可以提供更多的代码和日志配置信息,以便更好地帮助你解决问题。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Python 自动化指南(繁琐工作自动化)第二版:十一、调试

,但是让我们假设您编写了模拟代码的其余部分,长达数千行,而没有注意到它。...另一方面,缺失的日志消息表明部分代码被跳过并且从未执行过。 使用logging模块 要使logging模块在程序运行时在屏幕上显示日志消息,请将以下内容复制到程序顶部(但在#!...可以使用不同的日志记录函数在每个级别记录消息。 表 11-1:Python 中的日志记录级别 级别 记录函数 描述 调试 logging.debug() 最低级别。用于小细节。...继续 点击继续按钮将使程序正常执行,直到程序终止或到达断点。(我将在本章后面描述断点。)如果您完成了调试并希望程序继续正常运行,请单击“继续”按钮。...当您在没有调试器的情况下运行该程序时,它会快速输出如下内容: Halfway done! Heads came up 490 times.

1.5K40

干货 | 如何写一个更好的Python函数?

如果你不能写一个清晰的文档字符串来描述函数做什么,就说明你需要再考虑考虑为什么要写这个函数了。 返回值 函数可以被认为是一些独立的程序。它们以参数的形式接受一些输入,并返回一些结果。...加上你给所有这些新函数取了合适的名称,因此生成的代码读起来也会更容易。 幂等和函数纯度 不管被调用了多少次,幂等函数总是在给定相同参数集的情况下返回相同的值。...幂等性的一个现实中例子是在电梯前点击“向上”按钮。第一次按时,电梯会被“通知”你要上去。因为按按钮是幂等的,所以反复按它都没有什么影响。结果是一样的。 为什么幂等很重要? 可维护性和可维护性。...纯函数没有日志语句或print ( )调用。它们不使用数据库或互联网连接。它们不访问或修改非局部变量。它们不调用任何其他非纯函数。...在命令式编程(编写Python代码时所做的那种)中,它们是所有函数中最安全的函数。 它们也很容易被测试和维护,甚至比只是幂等函数更重要的是,测试它们基本上可以和执行它们一样快。

60720
  • 干货 | 如何写一个更好的Python函数?

    如果你不能写一个清晰的文档字符串来描述函数做什么,就说明你需要再考虑考虑为什么要写这个函数了。 返回值 函数可以被认为是一些独立的程序。它们以参数的形式接受一些输入,并返回一些结果。...加上你给所有这些新函数取了合适的名称,因此生成的代码读起来也会更容易。 幂等和函数纯度 不管被调用了多少次,幂等函数总是在给定相同参数集的情况下返回相同的值。...幂等性的一个现实中例子是在电梯前点击“向上”按钮。第一次按时,电梯会被“通知”你要上去。因为按按钮是幂等的,所以反复按它都没有什么影响。结果是一样的。 为什么幂等很重要? 可维护性和可维护性。...纯函数没有日志语句或print ( )调用。它们不使用数据库或互联网连接。它们不访问或修改非局部变量。它们不调用任何其他非纯函数。...在命令式编程(编写Python代码时所做的那种)中,它们是所有函数中最安全的函数。 它们也很容易被测试和维护,甚至比只是幂等函数更重要的是,测试它们基本上可以和执行它们一样快。

    61010

    怎样才能写好一个 Python 函数

    如果你不能写一个清晰的文档字符串来描述函数做什么,就说明你需要再考虑考虑为什么要写这个函数了。 4. 返回值 函数可以被认为是一些独立的程序。它们以参数的形式接受一些输入,并返回一些结果。...幂等和函数纯度 不管被调用了多少次,幂等函数总是在给定相同参数集的情况下返回相同的值。 结果不依赖于非局部变量、参数的可变性或来自任何 I / O 流的数据。...幂等性的一个现实中例子是在电梯前点击“向上”按钮。第一次按时,电梯会被“通知”你要上去。因为按按钮是幂等的,所以反复按它都没有什么影响。结果是一样的。 6.1 为什么幂等很重要? 可维护性和可维护性。...纯函数没有日志语句或 print()调用。它们不使用数据库或互联网连接。它们不访问或修改非局部变量。它们不调用任何其他非纯函数。...在命令式编程(编写 Python 代码时所做的那种)中,它们是所有函数中最安全的函数。 它们也很容易被测试和维护,甚至比只是幂等函数更重要的是,测试它们基本上可以和执行它们一样快。

    57520

    码如其人,小老弟,你能写一手漂亮的Python函数吗

    命名 关于这个问题,我最喜欢的一句话(出自 Phil Karlton,总被误以为是 Donald Knuth 说的)是: 在计算机科学中只有两个难题:缓存失效和命名问题。...函数有多重功能的一个致命漏洞是函数名称中含有单词「and」 这种分离还可以简化针对函数行为的测试,而且它们不仅被分离成一个模块中的两个函数,还可能在适当情况下存在于不同的模块中。...以下是人们在被问及为什么他们写的函数没有返回值时给出的一些常见原因: 「函数所做的就是类似 I/O 的操作,例如将一个值保存到数据库中,这种函数不能返回有用的输出。」...幂等函数易于测试,因为它们在使用相同参数的情况下会返回同样的结果。测试就是检查对函数的不同调用所返回的值是否符合预期。...它们不以任何形式修改程序或系统的其余部分。在命令式编程中(写 Python 代码就是命令式编程),它们是最安全的函数。它们非常好测试和维护,甚至在这方面优于纯粹的幂等函数。

    48520

    提高 Python 代码可读性的 5 个基本技巧

    为什么我们要在 clay 函数中检查结果? 这些函数需要什么类型?Floats? DataFrames?...Explicit Typing Python 语言是动态类型的,这意味着变量类型只会在运行时检查。此外,变量可以在代码执行期间更改类型。...此外,如果我们使用 Sphinx 之类的工具为代码创建在线文档,则文档字符串将自动被拾取并转换为适当的文档。 下面的示例显示了一个名为 clay_volume 的函数的文档字符串。...该插件允许我们输入三个双引号并自动填充模板的其余部分,我们只需要关注必须填写的其他详细信息即可。 4....可以通过查看代码的其他部分来猜测这些含义,但这需要一定的时间,尤其是在代码很长的情况下。

    71920

    Reddit热议:为什么PyTorch比TensorFlow更快?

    然而,TensorFlow (在 graph 模式下) 编译一个 graph,因此当你运行实际的训练循环时,在 session.run 调用之外没有任何 Python 开销。...因此,在这里,TensorFlow 不会在 Python 上花费额外的时间,而且它在 C++ 中有一个优化的实现。在这种情况下,为什么 TensorFlow 版本没有更快一些呢?...对 torch 函数的 Python 调用将在排队操作后返回,因此大多数 GPU 工作都不会占用 Python 代码。这将瓶颈从 Python 转移到了 CUDA,这就是为什么它们执行起来如此相似。...我的理解是,在默认情况下,PyTorch 中的执行是异步的。这意味着 Python 命令在 GPU 上执行某项调用,但不等待该调用的结果,除非下一个操作需要该结果。...patrickkidger: 这与 PyTorch 和 TensorFlow 没有直接关系,但是既然 NCHW 和 NHWC 被提了出来,我希望这里有人能知道答案…… 为什么 batch size N

    2.6K30

    Reddit热议:为什么PyTorch比TensorFlow更快?

    然而,TensorFlow (在 graph 模式下) 编译一个 graph,因此当你运行实际的训练循环时,在 session.run 调用之外没有任何 Python 开销。...因此,在这里,TensorFlow 不会在 Python 上花费额外的时间,而且它在 C++ 中有一个优化的实现。在这种情况下,为什么 TensorFlow 版本没有更快一些呢?...对 torch 函数的 Python 调用将在排队操作后返回,因此大多数 GPU 工作都不会占用 Python 代码。这将瓶颈从 Python 转移到了 CUDA,这就是为什么它们执行起来如此相似。...我的理解是,在默认情况下,PyTorch 中的执行是异步的。这意味着 Python 命令在 GPU 上执行某项调用,但不等待该调用的结果,除非下一个操作需要该结果。...patrickkidger: 这与 PyTorch 和 TensorFlow 没有直接关系,但是既然 NCHW 和 NHWC 被提了出来,我希望这里有人能知道答案…… 为什么 batch size N

    1.5K20

    码如其人,同学你能写一手漂亮的Python函数吗

    命名 关于这个问题,我最喜欢的一句话(出自 Phil Karlton,总被误以为是 Donald Knuth 说的)是: 在计算机科学中只有两个难题:缓存失效和命名问题。...函数有多重功能的一个致命漏洞是函数名称中含有单词「and」 这种分离还可以简化针对函数行为的测试,而且它们不仅被分离成一个模块中的两个函数,还可能在适当情况下存在于不同的模块中。...此外,返回值能改变方法的调用,如下代码展示了这种概念: 代码行 if line.strip().lower().endswith('cat') 能够正常运行,因为字符串方法 (strip(), lower...以下是人们在被问及为什么他们写的函数没有返回值时给出的一些常见原因: 「函数所做的就是类似 I/O 的操作,例如将一个值保存到数据库中,这种函数不能返回有用的输出。」...它们不以任何形式修改程序或系统的其余部分。在命令式编程中(写 Python 代码就是命令式编程),它们是最安全的函数。它们非常好测试和维护,甚至在这方面优于纯粹的幂等函数。

    58830

    码如其人,同学你能写一手漂亮的Python函数吗

    命名 关于这个问题,我最喜欢的一句话(出自 Phil Karlton,总被误以为是 Donald Knuth 说的)是: 在计算机科学中只有两个难题:缓存失效和命名问题。...函数有多重功能的一个致命漏洞是函数名称中含有单词「and」 这种分离还可以简化针对函数行为的测试,而且它们不仅被分离成一个模块中的两个函数,还可能在适当情况下存在于不同的模块中。...此外,返回值能改变方法的调用,如下代码展示了这种概念: 代码行 if line.strip().lower().endswith('cat') 能够正常运行,因为字符串方法 (strip(), lower...以下是人们在被问及为什么他们写的函数没有返回值时给出的一些常见原因: 「函数所做的就是类似 I/O 的操作,例如将一个值保存到数据库中,这种函数不能返回有用的输出。」...它们不以任何形式修改程序或系统的其余部分。在命令式编程中(写 Python 代码就是命令式编程),它们是最安全的函数。它们非常好测试和维护,甚至在这方面优于纯粹的幂等函数。

    46020

    码如其人,同学你能写一手漂亮的Python函数吗

    命名 关于这个问题,我最喜欢的一句话(出自 Phil Karlton,总被误以为是 Donald Knuth 说的)是: 在计算机科学中只有两个难题:缓存失效和命名问题。...函数有多重功能的一个致命漏洞是函数名称中含有单词「and」 这种分离还可以简化针对函数行为的测试,而且它们不仅被分离成一个模块中的两个函数,还可能在适当情况下存在于不同的模块中。...以下是人们在被问及为什么他们写的函数没有返回值时给出的一些常见原因: 「函数所做的就是类似 I/O 的操作,例如将一个值保存到数据库中,这种函数不能返回有用的输出。」...幂等函数易于测试,因为它们在使用相同参数的情况下会返回同样的结果。测试就是检查对函数的不同调用所返回的值是否符合预期。...它们不以任何形式修改程序或系统的其余部分。在命令式编程中(写 Python 代码就是命令式编程),它们是最安全的函数。它们非常好测试和维护,甚至在这方面优于纯粹的幂等函数。

    49420

    Python | 新手必会的 9 个 Python 技巧

    ,这里我将尝试展示我所知道和使用的一些特性,我还没有在其他地方看到有人提到过它们。...只带有关键字参数(kwargs)的函数 在使用以下这样的函数时,创建只接受关键字参数的函数来提供(强制)更多的清晰性是很有帮助的: ?...在进入with块时,tag函数(在yield之前)的第一部分会被执行,然后该with块被执行,最后,tag函数的其余部分会被执行。...另一方面,在Python中,所有东西都可以被导出,除非我们使用__all__: ? 根据上面的代码片段,我们知道只有bar函数会被导出。...结论 并不是所有这些特性在日常的Python编程中都是必需的和有用的,但是它们中的一些可能会不时地派上用场,而且它们还可能会简化那些在其他情况下会非常冗长和难以实现的任务。

    83130

    Python重定向标准输入、标准输出和标

    在最简单的例子中,stdout 和 stderr 将它们的输出发送到同一个地方:Python IDE,或终端(如果你正从命令行运行Python)。...将我们新打开的日志文件的文件对象赋给 stderr 重定向标准错误。 引发一个异常。从屏幕输出上我们可以注意到这样没有在屏幕上打印出任何东西。所以正常跟踪信息已经写进 error.log。...还要注意我们既没有显示地关闭日志文件,也没有将 stderr 设回它的初始值。...这样挺好,因为一旦程序崩溃(由于我们的异常),Python将替我们清理和关闭文件,并且 stderr 永远不恢复不会造成什么不同。因为,我提到过,一旦程序崩溃,则Python也结束。...记住,stdin 是一个带有 read 方法的类文件对象,所以我们代码的其余部分(在 kgp.py 中,我们调用 openAnything 的地方)一点没有改变。

    4K10

    几个被淘汰的 Python 库,请不要再用!

    Zoneinfo 而不是 pytz 在 Python 3.9 之前,没有用于时区操作的内置库,所以每个人都在使用 pytz,但现在我们在标准库中有 zoneinfo,所以是时候切换了。...Proper Logging 而不是 print 这不是标准库的最新添加,但值得使用 - 你应该使用正确的日志记录而不是打印语句, 如果你在本地调试问题,则可以使用 print,但对于任何无需用户干预即可运行的生产就绪程序...因此,我认为没有必要争论或解释为什么要使用它们,然而,在某些情况下不能使用 f 字符串: 使用 % 格式的唯一原因是用于记录: import logging things = "something happened..., 这不适用于 f 字符串,因为模板在传递给记录器之前填充了数据。...此外,有些事情是 f-strings 根本无法做到的, 例如在运行时填充模板 - 即动态格式 - 这就是 f-strings 被称为文字字符串格式的原因: # 动态设置模板及其参数 def func(

    17220

    几个被淘汰的Python库,请不要再用!

    Zoneinfo 而不是 pytz 在 Python 3.9 之前,没有用于时区操作的内置库,所以每个人都在使用 pytz,但现在我们在标准库中有 zoneinfo,所以是时候切换了。...Proper Logging 而不是 print 这不是标准库的最新添加,但值得使用 - 你应该使用正确的日志记录而不是打印语句, 如果你在本地调试问题,则可以使用 print,但对于任何无需用户干预即可运行的生产就绪程序...因此,我认为没有必要争论或解释为什么要使用它们,然而,在某些情况下不能使用 f 字符串: 使用 % 格式的唯一原因是用于记录: import logging things = "something happened..., 这不适用于 f 字符串,因为模板在传递给记录器之前填充了数据。...此外,有些事情是 f-strings 根本无法做到的, 例如在运行时填充模板 - 即动态格式 - 这就是 f-strings 被称为文字字符串格式的原因: # 动态设置模板及其参数 def func(

    24010

    几个被淘汰的Python库,请不要再用!

    Zoneinfo 而不是 pytz 在 Python 3.9 之前,没有用于时区操作的内置库,所以每个人都在使用 pytz,但现在我们在标准库中有 zoneinfo,所以是时候切换了。...Proper Logging 而不是 print 这不是标准库的最新添加,但值得使用 - 你应该使用正确的日志记录而不是打印语句, 如果你在本地调试问题,则可以使用 print,但对于任何无需用户干预即可运行的生产就绪程序...因此,我认为没有必要争论或解释为什么要使用它们,然而,在某些情况下不能使用 f 字符串: 使用 % 格式的唯一原因是用于记录: import logging things = "something happened..., 这不适用于 f 字符串,因为模板在传递给记录器之前填充了数据。...此外,有些事情是 f-strings 根本无法做到的, 例如在运行时填充模板 - 即动态格式 - 这就是 f-strings 被称为文字字符串格式的原因: # 动态设置模板及其参数 def func(

    33321

    实战 | 手把手教你用苹果CoreML实现iPhone的目标识别

    所以首先我需要修改YAD2K脚本来使用旧版本的Keras(这个被改过的YAD2K被包含在YAD2K github repo中)。 您可以在README文件中找到有关如何进行此转换的完整说明。...理想情况下,我们不会TinyYOLO直接使用这个类,而是通过Vision框架。不幸的是,我无法让它工作(在beta 1和2中)。...要更改层的填充方式,需要paddingPolicy在节点上设置属性。像这样: 默认情况下,填充设为.alignCentered而不是.alignTopLeft。...事实证明,在我以前的实现中,我已经将填充kernel的边缘设置为“clamp”而不是“zero”。使用''zero",它会在图像的边缘(duh)加零填充,但是用"clamp"会复制边缘图像进行填充。...运行应用程序,可以看到结果与Core ML版本完全相同。没有什么大惊喜,因为核心ML底层使用的Metal。 注意:运行这些类型的神经网络会消耗很大的电量。这就是为什么演示应用程序限制运行模型的频率。

    4.6K80

    Spark数据工程|专题(1)——引入,安装,数据填充,异常处理等

    至于为什么不用万金油Python,最大的原因就是速度慢,也就是说即使是pyspark,在实际的数据工程操作中也很少会被采用。当然如果是要写pyspark,那就需要使用PyCharm了。...这里要注意蓝色的框,如果不点scala文件夹,是看不到上面我选择的Scala Class这个选项的。这个原因在于IDEA认为你没有在正确的地方写代码,而不是因为你配置错了。...这是因为spark的写入是分布式写入的,所以正常情况下,它会写成多个文件,每一个文件是一个part,而所有文件在一起就是之前完整的数据集。换句话说我们的写入路径其实规定了文件保存的一个文件夹。...从设计的角度来说,因为填充的方法自然不可能只能对一列填充,所以这里表示可以填充多列,也就因此需要传入Array格式。 因此在这种情况下,我们可以先计算出这一行的平均值meanResult,再填入。...,内部其实是scala中的匿名函数,也就是Python中的lambda函数。

    6.5K40

    logging模块小结

    日志的作用是通过记录和分析日志可以了解一个系统或软件程序运行情况是否正常,也可以在应用程序出现故障时快速定位问题。...可以总结为3点:  程序调试 了解软件的运行情况,检查是否正常 程序运行时的故障分析与问题定位   第二,关于日志的等级   首先,我们要知道为什么日志要分为等级?   ...其实是因为在程序开发阶段,开发人员需要调试代码确保软件的正常运行,需要将所有的日志信息全部记录下来,去定位和分析问题,但是这样是非常消耗性能的。...,导致应用程序不能继续运行时记录的信息   在python中,logging模块提供的日志记录函数所使用的日志器默认设置的日志级别是WARNING,因此只有WARNING级别的日志记录以及大于它的ERROR...默认格式: 日志级别:日志器名称:日志内容   对应BASIC_FORMAT: "%(levelname)s:%(name)s:%(message)s"   昨天在课上的时候,没有讲关于格式化的字符串有哪些

    23520
    领券