123
Posted zhanjianhai
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了123相关的知识,希望对你有一定的参考价值。
进一步了解了,欧阳修:他的一生,成就,作品
同样的唐宋八大家有几个都是他的学生
快考试了,好好复习(预习)
Python3 NameError: name 'open' is not defined处理办法
一、说明
之前默认以为python的open方法用存哪里都没什么区别的,然后昨天直接在"__del__()"中使用今天同事跑程序时反馈程序报错“Python3 NameError: name ‘open‘ is not defined”。
排查之后发现是在"__del__()"中使用open方法所致,处理办法是在别的地方打开文件保存成成员变量而不要在"__del__()"中使用open。
二、程序示例
2.1 报错程序
报错代码如下:
class OpenTest(): def __init__(self): pass # 在del中使用open方法会报错 # 注意,除了下面演示的在del中直接使用open方法外,还包括del调用的函数中使用open方法的场景 def __del__(self): file_obj = open("test.txt","w+", encoding="utf-8") file_obj.writelines("test context\n") file_obj.close() if __name__ == "__main__": obj = OpenTest()
报错截图如下:
2.2 不报错程序
代码如下:
class OpenTest(): def __init__(self): # 也不一定要在init中打开,在del之外的地方打开都可以 self.file_obj = open("test.txt","w+", encoding="utf-8") pass # 在del中使用open方法会报错 # 注意,除了下面演示的在del中直接使用open方法外,还包括del调用的函数中使用open方法的场景 def __del__(self): # file_obj = open("test.txt","w+", encoding="utf-8") self.file_obj.writelines("test context\n") self.file_obj.close() if __name__ == "__main__": obj = OpenTest()
以上是关于123的主要内容,如果未能解决你的问题,请参考以下文章
Django 抛出“[123L, 123L] is not JSON serializable”
2022-10-04:以下go语言代码输出什么?A:{123} main.T{x:123} B:{123} T{x:123} C:boo boo D:boo main.T{x:123}。 packag
我想用javascript 实现字母大小写转换 如:把字符串 abc123 转换为 Abc123、ABc123、ABC123、aBC123...