1. 简介
Oneliner-izer是一个很有创意的项目,目的是将任意Python 2多行脚本,转换成功能等价的单行形式(注释会被去除)。
按照官方说法:
Convert any Python 2 script into a single line of code.
No newlines allowed. No semicolons, either. No silly file I/O tricks, or eval or exec. Just good, old-fashioned λ.
项目地址:
2. 示例
转换前的Python脚本:
def f(x): return x+5print f(13)
转换后:
(lambda __builtin__: (lambda __print, __y, d: [__print(d.f(13)) for d.f in [(lambda x:[(d.x+5) for d.x in [(x)]][0])]][0])(__builtin__.__dict__['print'],(lambda f: (lambda x: x(x))(lambda y: f(lambda *args: y(y)(*args)))),type('StateDict',(),__builtin__.__dict__)()))(__import__('__builtin__'))
转换后的代码可以在Python中直接执行。
3. 在线转换
官方提供的在线转换网站已停摆很久,笔者制作了一个简易的在线转换网站:
http://www.200yi.com/onelinerizer/
点击“阅读原文”直达在线转换网站。