使用当前作用域中的名称格式化字符串。

ScopeFormatter的Python项目详细描述


scopeformatter允许对名称使用python的字符串格式 从当前范围绘制,类似于变量插值 在ruby和perl等语言中发现。

Examples

>>> from scopeformatter import F
>>> greeting = 'Hello'
>>> def greet(name):
...     return F('{greeting}, {name}!')
>>> greet('world')
'Hello, world!'

接受位置参数和关键字参数:

>>> F('{greeting} {0} times, {name}!', len(greeting), name='world')
'Hello 5 times, world!'

Requirements

堆栈检查需要一个python vm,它提供 sys._getframe(),例如cpython。

Limitations

将找不到封闭作用域中的非全局名称,除非 它们在本地范围内被引用。

>>> def outer():
...     non_local = 'non-local'
...     def inner():
...         return F('{non_local} is not referenced locally')
...     return inner()
>>> outer()
Traceback (most recent call last):
    ...
KeyError: 'non_local'
>>> def outer():
...     non_local = 'non-local'
...     def inner():
...         non_local
...         return F('{non_local} is referenced locally')
...     return inner()
>>> outer()
'non-local is referenced locally'

History

1.0.3 – 2009 Oct 22

  • 将历史记录添加到项目页。
  • 添加了其他文档文件。

1.0.2 – 2009 Oct 22

  • 重新组织元数据。
  • 删除了对setuptools和nose的依赖关系。

1.0.1 – 2009 Oct 3

  • 对元数据进行了少量添加。

1.0 – 2009 Sept 25

  • 初次发布。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Java NIO选择器最多只能选择50个SelectionKeys?   java阻止ImageButton创建新活动   为什么Java方法“Arrays.copyOf”处理中的整数数组与处理对象数组时的行为不同   java将安卓 1.6日历字段提取到vcal   将字符串转换为双精度后的java问题   java使用Webflux,是否可以使用AOP获取用于日志记录的ServerHttpRequest   java与jTextArea的基本区别是什么。setText()和jTextArea。append()方法?   java程序执行时间|将值保存到文件或数据结构?   java如何将表示字符的整数转换为字符串?   Java LWJGL新的渲染问题windows   java GUI提供异常   java创建第二个对象使类的函数不再工作   如何在java中将000验证为3位数字?   java bigO算法的时间复杂度,可以在不重复的情况下找到最长的子串   在30像素内点击按钮后,java在两个图像之间转换   java eclipse maven nexus不可解父pom   当存在其他SecurityConstraint时,java TransportGuary机密将被忽略   重新连接后激发的java Red5客户端流断开事件   javafx聊天应用程序中连接客户端的java问题