gpt4 book ai didi

python - 导入并使用以 argparse 作为参数的函数

转载 作者:行者123 更新时间:2023-12-01 09:02:57 24 4
gpt4 key购买 nike

我正在尝试导入一个程序并在其中使用几个函数,但遇到了与 argparse 相关的问题。

在我想使用的函数中,创建者将其解析器参数传递给函数,如下所示。

args = parser.parse_args()

def write_flash(esp, args):

if args.compress is None and not args.no_compress:
args.compress = not args.no_stub

# verify file sizes fit in flash
flash_end = flash_size_bytes(args.flash_size)
for address, argfile in args.addr_filename:
argfile.seek(0,2) # seek to end
if address + argfile.tell() > flash_end:

我想知道如何在我正在编写的另一个程序中使用这个函数。我是否以某种方式创建一个与他具有相同参数的 parser.parse_args() 对象?我想到的一件事是使用 subprocess.popen 来运行它,如下所示:

p = subprocess.Popen(['python', 'esptool.py', '--port',
'COM3', 'write_flash', '0x00000', 'boot_v1.7.bin', '0xfc000', 'esp_init_data_ default_v08.bin', '0xfb000',
'blank.bin', '0x01000', 'user1.1024.new.2.bin'])

但这似乎不太理想。我真的对如何处理 argparse 感到迷茫,非常感谢任何帮助,谢谢。

最佳答案

parse_args() 返回 Namespace目的。您可以自己创建一个。

from argparse import Namespace`
args = Namespace()
args.compress = True
args.no_stub = 3
print(args)

然后通过它。

关于python - 导入并使用以 argparse 作为参数的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52317892/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com