我希望能够做到这样的事情:
from dotDict import dotdictify
life = {'bigBang':
{'stars':
{'planets': []}
}
}
dotdictify(life)
# This would be the regular way:
life['bigBang']['stars']['planets'] = {'earth': {'singleCellLife': {}}}
# But how can we make this work?
life.bigBang.stars.planets.earth = {'singleCellLife': {}}
#Also creating new child objects if none exist, using the following syntax:
life.bigBang.stars.planets.earth.multiCellLife = {'reptiles':{},'mammals':{}}
Run Code Online (Sandbox Code Playgroud)
我的动机是改进代码的简洁性,如果可能的话,使用与Javascript类似的语法来访问JSON对象,以实现高效的跨平台开发.(我也使用Py2JS和类似的.)
它应该能够以高度面向对象的方式创建,修改和读取 X/HTML,它仍然感觉DOM喜欢但不肥胖,并且真的是Pythonic.最好它也会处理格式错误的HTML,但我们可以跳过这个模板.
例如,我想这样做:
>> from someAmazingTemplate import *
>> html = Template('<html><head><title>Hi</title></head><body></body></html>')
>> html.head.append('<link type="text/css" href="main.css" rel="stylesheet" />')
>> html.head.title
Hi
>> html['head']['title']
Hi
Run Code Online (Sandbox Code Playgroud)
我应该能够使用/定义短函数并像这样使用它们:
>> html.head.append(stylesheet(href="main.css"))
>> html.body.append(h1('BIG TITLE!12',Class="roflol"))
>> html.body.SOURCE
<body>
<h1 class="roflol">
BIG TITLE!12
</h1>
</body>
Run Code Online (Sandbox Code Playgroud)
注意:如果它不存在,我将使用BSD/MIT/Python许可证.非常欢迎帮助.任何有助于更多Pythonic Web应用程序开发的东西都会很棒.非常感谢!
-Luke Stanley
GIT有哪些GUI就像Bazaar Explorer一样?
最好是Linux.
截图http://www.ubuntugeek.com/wp-content/uploads/2009/11/home-page-screenshot.png
很高兴在答案中包含或链接到屏幕截图.
如果你可以将每个应用程序作为一个答案,他们可以单独投票.
是否有Python的分析器可以渲染像Kcachegrind的Callee地图视图?

我正在尝试将使用Pythonic语义编写的代码自动编译/转换为本机和快速Javascript代码.
有什么工具可以做到这一点,可以像Java等一样提供良好的调试支持?
有没有人这样做过?
为什么?
我正在尝试用复杂的主循环,时间轴,一些物理模拟和一些复杂的交互来编写一些可视化代码.IE:它是一个实际的CPU绑定问题.
使用Javascript编写并在其浏览器环境中进行测试比在一个体面的IDE中运行的Java,.NET或Python更难调试.但是对于使用复杂的客户端代码进行实际的大规模Web开发,至少需要编译为Javascript,如果不直接写入它.
背景:最新进展
Emscripten允许将C/C++编译为Javascript,由于ArrayBuffer的类型化阵列支持和新的浏览器JS引擎,可以在浏览器中提高效率,因为ASM.js和LLJS利用了Mozilla最近的速度改进(其他供应商可能很快跟随).
Altjs.org有一个Javascript holternaltives的清单,但是还没有专注于最近的速度改进或特别好的语义,但它已成为人们用更好的工具为浏览器编码的常见地方.特别是Emscripten有很多令人惊叹的演示.
已考虑的可能选择:
附加限制:
"构建指令表的这个过程应该非常有趣.它不需要成为苦差事的真正危险,因为任何非常机械的过程都可能被转移到机器本身." - 艾伦·图灵,1946年
" 让事情变得尽可能简单,但并不简单. "
我们能找到修复Python数据库世界的解决方案吗?
更新:Alex Martelli编写了一个'lustdb'原型 - 如果你知道任何有多个后端的轻量级,高级数据库库,我们可以包含语法糖蜂蜜,请称重!
from someAmazingDB import *
#we imported a smart model class and db object which talk to database adapter/s
class Task (model):
title = ''
done = False #native types not a custom object we have to think about!
db.taskList = []
#or
db.taskList = expandableTypeCollection(Task) #not sure what this syntax would be
db['taskList'].append(Task(title='Beat old sql interfaces',done=False))
db.taskList.append(Task('Illustrate different syntax modes',True)) # ok maybe we should just use kwargs
#at this point …Run Code Online (Sandbox Code Playgroud) 我喜欢webpy,它真的很Pythonic但我不喜欢添加url映射并创建一个类,通常只有一个函数在其中.我有兴趣尽快减少代码输入和原型设计.
有没有人有任何即将到来的建议,如Bobo,Nagare,Bottle,Flask,Denied,对于webpy的好事情的人来说,这是多么的好事?
是什么让它成为一个好理由?
另外我不介意遗漏(强烈)基于文本的模板系统,我使用面向对象的HTML生成.代码应该看起来像这样:
def addTask(task):
db.tasks.append({'task':task,'done':False})
return 'Task Added'
def listTasks():
d = doc()
d.body.Add(Ol(id='tasks'))
for task in db.tasks:
taskStatus = 'notDoneTask'
if task.done: taskStatus = 'doneTask'
d.body.tasks.Add(Li(task.task,Class=taskStatus))
return d
Run Code Online (Sandbox Code Playgroud)
极简主义的CherryPy目前看起来像是一个强有力的竞争者.还有最后一分钟会被另一个人保存吗?