mirror of
https://github.com/SantaSpeen/CLI-in-Python.git
synced 2025-07-01 23:35:42 +00:00
100 lines
1.9 KiB
Markdown
100 lines
1.9 KiB
Markdown
# CLI in Python
|
|
|
|
#### Версия для русских: [здесь](./README_RU.md)
|
|
|
|
## Command-line interface for programs on Python3
|
|
|
|
### How to run
|
|
|
|
```python
|
|
from console import Console
|
|
cli = Console(prompt_in=">", prompt_out="]:")
|
|
|
|
def cli_echo(x: str):
|
|
""" Help message here """
|
|
|
|
message = "Echo message: " + x
|
|
|
|
return message
|
|
|
|
cli.add("help", cli_echo) # Add commands
|
|
|
|
cli.run()
|
|
```
|
|
|
|
### Usage output
|
|
|
|
* Basic output
|
|
|
|
```python
|
|
from console import Console
|
|
|
|
cli = Console(prompt_in=">", prompt_out="]:")
|
|
|
|
cli.log("cli.og")
|
|
cli.write("cli.write")
|
|
|
|
# Output
|
|
# ]: cli.og
|
|
# ]: cli.write
|
|
```
|
|
|
|
* With logging output usage
|
|
|
|
```python
|
|
from console import Console
|
|
import logging
|
|
|
|
cli = Console(prompt_in=">", prompt_out="]:")
|
|
logging.basicConfig(level=logging.NOTSET, format="%(asctime)s - %(name)-5s - %(levelname)-7s - %(message)s")
|
|
|
|
# All calls below will be implemented via Console
|
|
cli.logger_hook()
|
|
logging.debug("Debug log")
|
|
logging.warning('Warning log')
|
|
logging.error("Error log")
|
|
logging.info("Info log")
|
|
|
|
# Output
|
|
# ]: 2022-02-20 23:22:49,731 - root - DEBUG - Debug log
|
|
# ]: 2022-02-20 23:22:49,731 - root - WARNING - Warning log
|
|
# ]: 2022-02-20 23:22:49,731 - root - ERROR - Error log
|
|
# ]: 2022-02-20 23:22:49,731 - root - INFO - Info log
|
|
```
|
|
|
|
* with `print()` and `console.log` output usage
|
|
|
|
```python
|
|
from console import Console
|
|
|
|
cli = Console(prompt_in=">", prompt_out="]:")
|
|
|
|
cli.builtins_hook()
|
|
|
|
# Output below from the hook
|
|
# After builtins_hook() => cli = console
|
|
|
|
print("print()")
|
|
|
|
console.write("console.write")
|
|
console.log("console.log")
|
|
|
|
console['[] log']
|
|
console << "<< log"
|
|
|
|
# Output
|
|
# ]: print()
|
|
# ]: console.write
|
|
# ]: console.log
|
|
# ]: [] log
|
|
# ]: << log
|
|
```
|
|
|
|
## Links
|
|
|
|
* [Author's Telegram](https://t.me/SantaSpeen "SantaSpeen"): https://t.me/SantaSpeen
|
|
|
|
Used in:
|
|
|
|
* [Python-CLI-Game-Engine](https://github.com/SantaSpeen/Python-CLI-Game-Engine)
|