Convert python scripts into oneliner expression.
python3 -m oneliner [input file] -o [output file]
Or use python3 -m oneliner -h
for help.
InputFile:
import random
y,h=0,2
msg='hello_world'
while y<h*2:
for x in range(len(msg)+2):
print(random.choice('/\\'),end='')
y+=1
if y==h:
print('\n %s '%msg)
else:
print('')
OutputFile:
[(importlib := __import__('importlib')), (itertools := __import__('itertools')), (random := importlib.import_module('random')), (__ol_assign_qqaleuwbod := (0, 2)), (y := __ol_assign_qqaleuwbod[0]), (h := __ol_assign_qqaleuwbod[1]), (msg := 'hello_world'), [[[print(random.choice('/\\'), end='') for x in range(len(msg) + 2)], y.__iadd__(1) if hasattr(y, '__iadd__') else (y := (y + 1)), print('\n %s ' % msg) if y == h else print('')] for _ in itertools.takewhile(lambda _: y < h * 2, itertools.count())]]
pip install Oneliner-Py
Or
git clone https://github.com/yunline/Oneliner-Py.git
cd ./Oneliner-Py
python3 -m pip install .
This converter requires python 3.10+
The converted scripts should be able to run on python 3.8+
Following statements are not able to be converted as oneliner.
from-import *
(from-import with star)yield
andyield from
try-except-finally
statementsraise
statementwith
statementassert
statementdel
statementasync-xxx
statementsmatch-case
statement (new in Python 3.10)type
statement (new in 3.12)