python - Python AttributeError:“PostSaveCommand”对象没有属性“_server”
问题描述
我正在构建一个 python 插件,执行此操作的代码如下所示:
class BaseCommand(sublime_plugin.TextCommand):
@property
def server(self):
if self._server == None:
self._server = "My Server"
return self._server
class PostSaveCommand(BaseCommand):
def run(self, edit):
super().server.new_post("Title", "", "Text")
当我尝试构建代码时,我总是收到以下错误:
>>> view.run_command('post_save')
Traceback (most recent call last):
File "/Applications/Sublime Text.app/Contents/MacOS/sublime_plugin.py", line 1088, in run_
return self.run(edit)
File "/Users/joywek/Library/Application Support/Sublime Text 3/Packages/BlogPress/BlogPress.py", line 53, in run
super().server.new_post("Title", "", "Text")
File "/Users/joywek/Library/Application Support/Sublime Text 3/Packages/BlogPress/BlogPress.py", line 42, in server
if self._server == None:
AttributeError: 'PostSaveCommand' object has no attribute '_server'
解决方案
我们还没有定义属性sublime_plugin.TextCommand
是什么,但是假设这_server
是您想要定义为类的一部分的属性,您需要在类下的方法BaseCommand
中实例化该属性。__init__
BaseCommand
例如:
class BaseCommand(sublime_plugin.TextCommand):
def __init__(self):
super().__init__()
self._server = None
@property
def server(self):
if self._server == None:
self._server = "My Server"
return self._server
class PostSaveCommand(BaseCommand):
def run(self, edit):
super().server.new_post("Title", "", "Text")
话虽如此,您可以摆脱server()
您定义的方法,并_server
根据需要简单地实例化为“我的服务器”,如下例所示。
class BaseCommand(sublime_plugin.TextCommand):
def __init__(self):
super().__init__()
self._server = "My Server"
class PostSaveCommand(BaseCommand):
def __init__(self):
super().__init__()
def run(self, edit):
self._server.new_post("Title", "", "Text")
推荐阅读
- mpi - ImportError:导入 MPI 时 DLL 加载失败
- tally - 是否有任何解决方案可以将数据同时插入到 Tally ERP 9 中的多个公司?
- vba - 在 Word 中切换日期选择器内容控件的区域设置
- reactjs - 在 xampp 清单中运行的反应构建文件错过了
- reactjs - Axios to get data from database
- authorization - 自动授权令牌生成空值
- javascript - Html - Google 未定义
- c - 如何在 c 中使用 strcpy 更改字符串值
- discord - Discord.js 无法读取未定义的属性“角色”
- python - 尝试将表单数据保存到数据库时出现 AttributeError 消息