_ allows you to write Python code using only _.
Tip
It is highly recommended to use a virtual environment for proper installation of the _.pth file.
python -m pip install underscoresPython 3.9 or a newer version is required.
The following script is a "Hello, world!" program which can be executed by the Python interpreter:
# coding: _
_ ____ _ _____ _ ____ __ _ _ ___ ______ ____ _ ____ _ ___ _ ____ __ ___ _ __ _
_____ _ _ ______ _____ _ ___ _ _ _ ___ _____ ______ _ ____ _ _ _ ____ _ _ _ ____
_ ____ _ __ __ ___ _ _ ______ ___ _ ____ __ ______ _ ____ _ ____ _ ____ __ _ _
____ _ _ _ ___ _____ _____ _ _ ______ ____ _ _ ______ _____ _ __ _ ______You can generate a script with _:
print('print("Hello, world!")'.encode("_").decode("utf-8"))A _ command is also provided:
_ script1.py > script2.py
# or
echo 'print("Hello, world!")' | _ > script.pyIf you get SyntaxError: invalid syntax, make sure the line # coding: _ is present at the top of your script.
If you get SyntaxError: encoding problem: _, follow the steps below to make sure the _ encoding is registered on startup:
- Run
SITE_PACKAGES=$(python -c 'import sysconfig; print(sysconfig.get_path("purelib"))')to get the path to the Python site-packages directory. - Run
echo "import underscores" > "$SITE_PACKAGES/_.pth"to register the_encoding on startup.
Note
If using PowerShell, use $SITE_PACKAGES instead of SITE_PACKAGES to assign the variable.
This issue is commonly encountered when installing _ into the user site-packages.
_ is a port of _ from Ruby to Python.
Please check out the original creator mame.
Big thanks to shailist for this awesome post about custom encodings.