我有一个python项目,我想使用YAML(pyYaml 3.11),特别是因为它"非常"且用户可以在必要时在文本编辑器中轻松编辑.但问题是,如果我将YAML带入python应用程序(我将需要)并编辑内容(因为我需要),那么编写新文档通常不如我开始时那么漂亮.
pyyaml文档非常差 - 甚至没有将参数记录到转储函数.我找到了http://dpinte.wordpress.com/2008/10/31/pyaml-dump-option/.但是,我仍然缺少我需要的信息.(我开始查看源代码,但它似乎并不是最吸引人的.如果我没有得到解决方案,那么这是我唯一的办法.)
我从一个看起来像这样的文档开始:
- color green :
inputs :
- port thing :
widget-hint : filename
widget-help : Select a filename
- port target_path :
widget-hint : path
value : 'thing'
outputs:
- port value:
widget-hint : string
text : |
I'm lost and I'm found
and I'm hungry like the wolf.
加载到python(yaml.safe_load(s))后,我尝试了几种方法将其转储出来:
>>> print yaml.dump( d3, default_flow_style=False, default_style='' )
- color green:
inputs:
- port thing:
widget-help: Select a filename
widget-hint: filename
- port target_path: … 试图更好地理解数据库,特别是sqlite3:
sqlite3中的视图主要是组织功能,允许将复杂查询分解为一系列较小的查询; 或者视图是否会影响使用它们的查询的性能?
我注意到视图作为模式的一部分存储在数据库本身中.视图是否存储在磁盘上,并在更新依赖表时动态更新; 或者他们是否按需评估?
谢谢.
我正在使用这样的代码创建一个全帧(无装饰)窗口(在python 3.2中使用tkinter):
self.root = Tk()
self.W, self.H = self.root.winfo_screenwidth(), self.root.winfo_screenheight()
self.root.overrideredirect(1) # full screen, no menu or borders
self.root.geometry("%dx%d+0+0" % (self.W, self.H))
Run Code Online (Sandbox Code Playgroud)
当我尝试打开文件对话框或消息框时,它们显示在完整的框架窗口下.在打开其中一个对话框之前,我可以通过在主窗口上调用withdraw()来验证这一点.例如,
file = tkinter.filedialog.askopenfilename(parent=self.root) # UNDER main window
Run Code Online (Sandbox Code Playgroud)
在Windows上我没有这个问题,只有在fedora 14和ubuntu 12.04上我才注意到它.(我没有在Mac上测试过).我正在将父母传递给对话,但他们似乎没有注意到.有人能帮助我理解我做错了什么吗?谢谢.
我对 NoSQL 比较陌生,但我对关系数据库做了一些玩弄。
我们正在评估 Cassandra 在我们的数据模型可能需要相当积极地发展的环境中的使用。我已经看到它写了多个地方,Cassandra 可以存储“结构化、半结构化和非结构化”数据。
我理解结构化声明。很明显:一个表定义了列。
我想我理解半结构化声明。一行不需要填充所有列。
但我不清楚非结构化声明。当然,您可以将所有内容存储为键值 blob,但您无法按值(有效地)进行搜索。
我在网上找不到任何资源来描述使用 Cassandra 的非结构化数据的最佳实践。理想情况下,对于我们的应用程序,半结构化数据就足够了;但我想了解非结构化声明,因为它可以为我们增加价值。
谢谢。