default mode without requiring named arguments
- Vorherrschende Sprache
- Python
- Sterne
- 28.2k
- Forks
- 1.5k
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
Surprised if this is not a dup, or documented - but I couldn't find it.
In most of my scripts I have a default behavior, and keyword modifiers, e.g.
```
# Default behavior is adding numbers
# a)
python script 1 2
-> 3
# modified behavior is subtracting numbers
# b)
python script subtract 1 2
-> -2
```
right now I can only get Fire to support keyword behavior, so a) would be
```
python script add 1 2
-> 3
```
I tried writing it all in a class, where the default is the \_\_call\_\_ method:
```
from fire import Fire
@Fire
class script:
@staticmethod
def subtract(a: int, b: int) -> int:
return a - b
@staticmethod
def __call__(a: int, b: int) -> int:
return a + b
```
but in this case I'm only able to call #a it as
```
python script --a=1 --b=2
```
I could of course manually process args, but at that point I might as well just use argparse.
Beitragsleitfaden
Bewertung
Dieses Issue wurde noch nicht bewertet.