feature request: tell fire to stop parsing argument and pass the remaining unparsed args to function
還沒有人認領這個 Issue。
評估
研究方向
從 fire.Fire 進入點開始,檢查命令列引數在到達提議的 fire.decorators.SkipParse 方法之前是如何解析的。定義停止解析標記或裝飾器應如何運作,然後驗證範例在 run 之後保留 ('which', '-a', 'python3')。
由索引模型根據 Issue 內容生成。
描述
Feature Description
I am working on a tool to wrap some existed command line tools to make them easier to use (like auto install, inject argument automatically, etc). And I hope that I can have a way to tell Fire to stop parsing after encount some specific command.
Example
Here are some real world examples like poetry run python3 ./my-scripts.py or conda run -n my-env python3 ./my-scripts.py
Without this feature I can only put everything else as string, just like what -c option of bash does, e.g. bash -c "echo 'hello world'" , which could still work, but the user have to type extra string quote and dealing with escaping in some cases.
I am not sure if it is possbile to provide some decorator to archive this, for example
class Conda:
def __init__(verbose=False):
...
@fire.decorators.SkipParse
def run(self, *argv):
print(argv)
fire.Fire(Conda)
And when running with python fake-conda.py --verbose run which -a python3, the output should be ('which', '-a', 'python3')
- 主要語言
- Python
- 星號
- 28.2k
- 分支
- 1.5k
- PR 合併指標
- 30 天內沒有已合併 PR
貢獻指南
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
google/python-fire 的其他 Issue
-
難度 2/5 1-3 小時 新手友好度 85/100
google/python-fire#693 ·
-
Release 0.7.2? 未關閉
難度 3/5 1-2 天 新手友好度 38/100
google/python-fire#698 ·
-
難度 3/5 1-2 天 新手友好度 58/100
google/python-fire#672 · 5 則留言 ·
-
難度 4/5 3-5 天 新手友好度 45/100
google/python-fire#665 · 2 則留言 ·
-
難度 4/5 3-5 天 新手友好度 55/100
google/python-fire#659 · 1 則留言 ·
查看 google/python-fire 的全部 Issue
相似的 Issue
-
bug confirmed issue
難度 2/5 1-3 小時 新手友好度 75/100
open-webui/open-webui#30750 · 1 則留言 ·
-
難度 2/5 1-3 小時 新手友好度 75/100
-
enhancement
難度 2/5 1-3 小時 新手友好度 75/100
OpenwaterHealth/openmotion-bloodflow-app#604 · 1 則留言 ·
-
難度 2/5 1-3 小時 新手友好度 70/100
-
good first issue
難度 1/5 1 小時以內 新手友好度 90/100