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

Python 使用 Xlrdxlwt

没有之一。 三、调试方便 你完全可以直接在Excel里面用宏先调试你想要的效果。甚至如果你不清楚怎么用程序实现某个操作,你可以通过宏录制的方法得到该操作的处理代码。...三、Excel自身bug导致的问题 我刚好发现了其中一个,这和Python没有任何关系,可以完全Excel中手动复现。Excel 2007中随便创建一个文件,给某个单元格添加注释,保存。...但也会带来一些麻烦,有一些状态是一个Excel进程内共享的,你同进程的其他窗口内操作有可能会影响到Python程序所要进行的处理,导致各种错误。...窗口不可见也会带来一些麻烦,前面说了,通过Python启动的Excel进程跟你直接从桌面打开的Excel进程没有什么区别,使用Excel的过程中,我们经常会遇到各种弹出的错误、警告或者提示框,这些在用...这里只说一另存为时,如果目标文件已经存在怎么办。Excel的API另存为方法似乎并没有提供参数决定是否直接覆盖同名的目标文件,在窗口操作中,这种情况会弹出一个确认框来让用户决定。

1.5K20

python中常见的一些错误异常类型

python提供了两个非常重要的功能来处理python程序在运行中出现的异常和错误。你可以使用该功能来调试python程序。什么是异常?...一般情况Python无法正常处理程序时就会发生一个异常。异常是Python对象,表示一个错误。当Python脚本发生异常时我们需要捕获处理它,否则程序会终止执行。...数值运算超出最大限制ZeroDivisionError除(或取模)零 (所有数据类型)AssertionError断言语句失败AttributeError对象没有这个属性EOFError没有内建输入,到达...无效数据查询的基类IndexError序列中没有此索引(index)KeyError映射中没有这个键MemoryError内存溢出错误(对于Python 解释器不是致命的)NameError未声明/初始化对象...(没有属性)UnboundLocalError访问未初始化的本地变量ReferenceError弱引用(Weak reference)试图访问已经垃圾回收了的对象RuntimeError一般的运行时错误

2.3K20
您找到你想要的搜索结果了吗?
是的
没有找到

我终于把Python中下划线的含义弄清楚了(憋了很久了)

_internal_func() NameError: "name '_internal_func' is not defined" 顺便说一,应该避免通配符导入,因为它们使名称空间中出现的名称变得不清楚...当在该列表中搜索_baz时,将看到没有具有该名称的变量。 那么,到底发生了什么呢? 如果仔细查看,就会看到这个对象上有一个名为_testbaz的属性。这是Python解释器应用的命名混乱。...事实证明,这个对象甚至没有一个_baz属性: >>> dir(t2) ['_ExtendedTest__baz', '_Test__baz', '__class__', '__delattr__',...还可以解包表达式中使用单个下划线。同样,这只是“按照约定”的意思,Python解释器中没有触发任何特殊的行为。单个下划线只是一个有效的变量名。...append(1) >>> _.append(2) >>> _.append(3) >>> _ [1, 2, 3] 总结:Python下划线命名模式 这是我本文中介绍的五个下划线模式Python中的含义的简要概述

10.2K21

Python3之异常,调试和测试

12.Python3入门之异常、调试和测试 程序运行过程中,总会遇到各种各样的错误....常用异常 异常名称 描述 AttributeError 试图访问一个对象没有的树形,比如foo.x,但是foo没有属性x IOError 输入/输出异常;基本上是无法打开文件 ImportError 无法引入模块或包...断言语句失败 AttributeError 对象没有这个属性 EOFError 没有内建输入,到达EOF 标记 EnvironmentError 操作系统错误的基类 IOError 输入/输出操作失败...OSError 操作系统错误 WindowsError 系统调用失败 ImportError 导入模块/对象失败 LookupError 无效数据查询的基类 IndexError 序列中没有此索引(index...) KeyError 映射中没有这个键 MemoryError 内存溢出错误(对于Python 解释器不是致命的) NameError 未声明/初始化对象 (没有属性) UnboundLocalError

1.4K40

挑战30天学完Python:Day15 错类类型

了解编程语言中不同类型的错误将帮助我们快速调试代码,也使我们更好地完成我们的工作。 接下来,让我们来看一些Python中常见的错误类型。首先让我们打开Python交互式终端。还记得如何打开吗?...很简单,只需要在PC电脑上打开“终端”然后输入python即可进入Python交互模式。 SyntaxError SyntaxError表示语法错误。...AttributeError AttributeError表示属性错误。一般是某个声明的对象没有属性,但却被引用进而引发的错误。...因此会引发一个AttributeError错误,这意味着该函数模块中不存在。我们将PI改成pi来修正它。...通往伟大的路上已经走了一半的路程了。本次没有额外的作业,但如果上边的例子,你并没有亲自尝试,那么请你把他们当作练习完成错误见证和debug修复它们。

19320

一文教你读懂 Python 中的异常信息

AttributeError 当你访问一个对象属性,但是这个属性没有在这个对象定义的时候,就会引发 AttributeError。...' object has no attribute 'b' AttributeError错误消息行告诉我们特定对象类型(本例中为 int)没有访问的属性, 在这个例子中属性为 b。...点击文件链接可以快速定位到具体的错误代码的位置。 大多数情况,引发这个异常表明你正在处理的对象可能不是你期望的类型。...这是因为 SyntaxError 是 Python 尝试解析代码时引发的,实际上代码并没有执行。...前面我们说了很多异常的相关知识,但是我们应该如何利用好呢,这里我们就重点说一,如何通过记录异常信息,方便后期程序的调试。 下面让我们看一个关于使用 requests 模块的例子。

2.4K10

流畅的 Python 第二版(GPT 重译)(六)

它应返回一个int,理想情况应考虑__eq__方法中也使用的对象属性的哈希值,因为比较相等的对象应具有相同的哈希值。...如果你不知道名称冲突的情况创建自己的mood实例属性,那么你将覆盖从Dog继承的方法中使用的mood属性。这将是一个令人头疼的调试问题。...回想一第十一章中关于最新 Vector2d 示例的情况,尝试分配给 .x 或 .y 实例属性会引发 AttributeError。...③ 如果 name 是小写的,设置关于所有单个字母名称的错误消息。 ④ 否则,设置空白错误消息。 ⑤ 如果存在非空错误消息,则引发 AttributeError。...选择与 AttributeError 一起显示的错误消息时,我的第一个检查对象是内置的 complex 类型的行为,因为它们是不可变的,并且有一对数据属性,real 和 imag。

10210

Sweetest框架学习

False时,路径存在,抛出FileExistsError;True时,FileExistsError被忽略 1.2导入实例化对象 第32行: g.plan_name = file_name.split...('-')[0] 使用ctrl点击g进行跳转至sweetest/sweetest/globals.py 发现导入的是g = Global()的实例化对象g 找到导包的语句from sweetest.globals...import g 所以应该是导入的时候触发的实例化操作 1.3规定内容常量化 第33行-35行,38行: self.testcase_file = str(Path('testcase') / (file_name...2import xlsxwriter 通过def __init__(self, file_name, mode='r'):可以看出,实例化时需要指定操作模式,读取的操作相对简单不进行介绍 写的操作用于报告的输出...name -- 字符串,对象属性。 default -- 默认返回值,如果不提供该参数,没有对应属性时,将触发 AttributeError

96250

python基础六

:数值运算超出最大限制 ZeroDivisionError:除(或取模)零 (所有数据类型) AssertionError:断言语句失败 AttributeError:对象没有这个属性 EOFError...:导入模块/对象失败 KeyboardInterrupt:用户中断执行(通常是输入^C) LookupError:无效数据查询的基类 IndexError:序列中没有没有此索引(index) KeyError...:映射中没有这个键 MemoryError:内存溢出错误(对于Python 解释器不是致命的) NameError:未声明/初始化对象 (没有属性) UnboundLocalError:访问未初始化的本地变量...面向对象 定义一个类 class Person: gamename = '人类' def __init__(self,*args): print('正在定义属性。。。'...__dict__['name'] Person:类名,可以自己定义 gamename:静态属性,不会改变 但是调用用类名调用 __init__:当实例化Person 会执行的函数 #实例化就会输出:正在定义属性

60230

python基础教程:内置函数(二)

文本模式(默认情况,或者 *mode* 参数中包含‘t’` )时,文件内容返回为 str ,首先使用指定的 encoding (如果给定)或者使用平台默认的的字节编码解码。...传递0以切换缓冲关闭(仅允许二进制模式),1选择行缓冲(仅在文本模式可用),并且>1的整数以指示固定大小的块缓冲区的大小(以字节为单位)。...这应该只文本模式使用。默认编码是依赖于平台的(不 管 locale.getpreferredencoding() 返回何值),但可以使用任何Python支持的 text encoding 。...errors 是一个可选的字符串参数,用于指定如何处理编码和解码错误 – 这不能在二进制模式使用。...在这种情况,它纯粹是一个便利函数,因此您不必显式导入 pdb 且键入尽可能少的代码即可进入调试器。

1.3K20

爬虫(107)Python 3.7的超酷新功能(接近一万字,请耐心享用,而且建议收藏)

调试是编程的重要组成部分。Python 3.7引入了新的内置函数breakpoint()。这实际上并没有Python添加任何新功能,但是它使调试器的使用更加灵活和直观。...bugs.py ZeroDivisionError: division by zero 糟糕,看来您毕竟还没有修正错误… 另一种选择是用于PYTHONBREAKPOINT指定除PDB之外的调试器。...__getattr__()方法可用于自定义对对象属性的访问。 Python 3.7之前,模块属性很难获得相同的自定义。...如果PLUGINS导入所有插件之后该插件不在词典中,那么我们提出一个AttributeError说法,name它不是当前模块上的属性(插件)。 PLUGINS字典如何填充?...在此模式,UTF-8无论当前语言环境如何,都将用于文本编码。 最佳化 Python的每个新发行版都带有一组优化。

1.5K30

python高级-动态特性(20)

: 'Person' object has no attribute 'sex' 这是程序报错说,Person没有sex这个属性,我们可以通过给Person动态绑定属性,解决问题 class Person...,但是后面报错说没有run这个属性,但是我想在类创建好了以后,在运行的时候动态的添加run方法怎么办呢?...(run,P1) #对象调用动态绑定的方法 P1.run() 运行结果为: 正在吃东西 跑步 打印出来“跑步”说明run方法被正常执行了 动态绑定类方法和静态方法 #动态添加方法需要导入types模块...、方法 删除的方法: del 对象.属性名 delattr(对象, "属性名") class Person(object): def __init__(self,name=None,age=None...为了达到限制的目的,Python允许定义class的时候,定义一个特殊的__slots__变量,来限制该class实例能添加的属性: class Person(object): __slots

50140

python基础学习15----异常处理

1.异常的类型 异常的类型多种多样,常见的异常有: AttributeError 试图访问一个对象没有属性,比如foo.x,但是foo没有属性x IOError 输入/输出异常;基本上是无法打开文件...,却试图访问x[5] KeyError 试图访问字典里不存在的键 KeyboardInterrupt Ctrl+C被按 NameError 尝试访问一个没有申明的变量 SyntaxError Python...AttributeError 对象没有这个属性 EOFError 没有内建输入,到达EOF 标记 EnvironmentError 操作系统错误的基类 IOError 输入/输出操作失败...OSError 操作系统错误 WindowsError 系统调用失败 ImportError 导入模块/对象失败 LookupError 无效数据查询的基类 IndexError...序列中没有此索引(index) KeyError 映射中没有这个键 MemoryError 内存溢出错误(对于Python 解释器不是致命的) NameError 未声明/初始化对象

1.6K10

使用Python时绝对不应该做什么?

本文中,我们将学习使用 Python 时不应该做什么。 谨慎使用类变量 Python 中,类变量用作字典,称为方法解析顺序 (MRO)。此外,如果一个类缺少一个属性,则该类缺少一个属性。...缩进不当 Python 中,缩进就是一切。Python 在线使用缩进,不像 Java、C++ 和其他编程语言使用大括号来构造代码块。许多属性受缩进的影响。...误用“_ _ del _ _” “_ _ del _ _”方法只能在某些情况使用,而不是所有时间都可以使用。否则,将引发“属性错误”异常。...形成对象时,将调用 __init__ 方法,该方法分配内存并初始化类的属性。因此,尝试从 init 方法显式返回值可能会生成多个错误并导致代码困难。...创建循环模块依赖项 因为 Python 知道不重新导入某些东西,所以拥有循环模块依赖项起初可能看起来很安全。但是,您可能会在某个时候收到 AttributeError 异常,这是不希望的。

1.2K40

Python中下划线的5种含义

" 顺便说一,应该避免通配符导入,因为它们使名称空间中存在哪些名称不清楚。...self.foo变量属性列表中显示为未修改为foo。 self._bar的行为方式相同 - 它以_bar的形式显示类上。 就像我之前说过的,在这种情况,前导下划线仅仅是一个约定。...当你该列表中搜索__baz时,你会看不到有这个名字的变量。 __baz出什么情况了? 如果你仔细观察,你会看到此对象上有一个名为_Test__baz的属性。...事实证明,这个对象甚至没有__baz属性: >>> dir(t2) ['_ExtendedTest__baz', '_Test__baz', '__class__', '__delattr__', '...小结 以下是一个简短的小结,即“速查表”,罗列了我本文中谈到的五种Python下划线模式的含义: ?

1.5K70

Python3 常见错误和异常处理

\ KeyboardInterrupt 用户中断执行(通常是输入^C) 用户按Ctrl-C(或者Delete)终止一个正在运行的程序时,会产生,重新运行即可 Exception 常规错误的基类 \...对象没有这个属性 当一个属性引用或赋值失败时,会产生 EOFError 没有内建输入,到达EOF 标记 对于类似input或者raw_input这样的内置函数,如果在遇到输入流末尾之前没有读到任何数据...OSError WindowsError 系统调用失败 \ ImportError 导入模块/对象失败 无法导入一个模块或者模块中的一个成员时会产生该异常 LookupError 无效数据查询的基类 \...内存溢出错误(对于Python 解释器不是致命的) 如果一个程序用尽了所有内存,而且可以恢复,会产生 NameError 未声明/初始化对象 (没有属性) 如果代码引用了一个名字,而当前作用域中不存在这个名字...尚未实现的方法 用户自定义的基类可能产生NotImplementedError,来指示一个方法或者行为需要子类定义 SyntaxError Python 语法错误 查看报错信息第几行 ,从这一行往上找错误

1.5K20

Python中 5 种不同的下划线含义你都知道吗?

" 顺便说一,应该避免通配符导入,因为它们使名称空间中存在哪些名称不清楚。...双前导下划线 __var 到目前为止,我们所涉及的所有命名模式的含义,来自于已达成共识的约定。而对于以双下划线开头的Python类的属性(包括变量和方法),情况就有点不同了。...self.foo变量属性列表中显示为未修改为foo。 self._bar的行为方式相同 - 它以_bar的形式显示类上。就像我之前说过的,在这种情况,前导下划线仅仅是一个约定。...当你该列表中搜索__baz时,你会看不到有这个名字的变量。 __baz出什么情况了? 如果你仔细观察,你会看到此对象上有一个名为_Test__baz的属性。这就是Python解释器所做的名称修饰。...事实证明,这个对象甚至没有__baz属性: >>> dir(t2) ['_ExtendedTest__baz', '_Test__baz', '__class__', '__delattr__', '_

85931

说说Python中的反射是什么?

公众号新增加了一个栏目,就是每天给大家解答一道Python常见的面试题,反正每天不贪多,一天一题,正好合适,只希望这个面试栏目,给那些正在准备面试的同学,提供一点点帮助!...如果参考答案不够好,或者有错误的话,麻烦大家可以留言区给出自己的意见和讨论,大家是要一起学习的 。 废话不多说,开始今天的题目: 问:说说Python中的反射?...答:反射机制就是在运行时,动态的确定对象的类型,并可以通过字符串调用对象属性、方法、导入模块,是一种基于字符串的事件驱动。通过字符串的形式,去模块寻找指定函数,并执行。...默认返回值,如果不提供该参数,没有对应属性时,将触发AttrbuteError...delattr(object, name) delattr() 函数用来删除指定对象的指定名称的属性,和setattr函数作用相反,属性必须存在,否则发出AttributeError

62320

掌握 Python 中下划线的 5 个潜规则

" 顺便说一,应该避免通配符导入,因为它们使名称空间中存在哪些名称不清楚。...双前导下划线 __var 到目前为止,我们所涉及的所有命名模式的含义,来自于已达成共识的约定。而对于以双下划线开头的Python类的属性(包括变量和方法),情况就有点不同了。...self.foo变量属性列表中显示为未修改为foo。 self._bar的行为方式相同 - 它以_bar的形式显示类上。就像我之前说过的,在这种情况,前导下划线仅仅是一个约定。...当你该列表中搜索__baz时,你会看不到有这个名字的变量。 __baz出什么情况了? 如果你仔细观察,你会看到此对象上有一个名为_Test__baz的属性。这就是Python解释器所做的名称修饰。...事实证明,这个对象甚至没有__baz属性: >>> dir(t2) ['_ExtendedTest__baz', '_Test__baz', '__class__', '__delattr__', '_

51620
领券