Python ';名称空间';对象是不可编辑的
试图使用argparse传递未确定数量的整数。输入时:py main.py 3 2Python ';名称空间';对象是不可编辑的,python,python-3.x,argparse,python-module,Python,Python 3.x,Argparse,Python Module,试图使用argparse传递未确定数量的整数。输入时:py main.py 3 2 %%writefile main.py import sorthelper import argparse integers = 0 #top-level parser creation parser = argparse.ArgumentParser("For sorting integers") nargs = '+' #-> gathers cmd line ar
%%writefile main.py
import sorthelper
import argparse
integers = 0
#top-level parser creation
parser = argparse.ArgumentParser("For sorting integers")
nargs = '+' #-> gathers cmd line arguments into a list
args = parser.add_argument('-f', metavar='N', type=int, nargs='+', help='yada yada yada')
args = parser.parse_args()
print(sorthelper.sortNumbers(args))
%%writefile sorthelper.py
def sortNumbers(args):
sorted(args)
错误命名空间参数不可编辑
我想是因为我传递的参数类型不正确。在阅读了所有我能找到的文档之后,我不知道如何使它工作。我希望程序对我传递的数字进行排序。返回,这是一个对象,其属性表示已解析的标志。这是不可容忍的
似乎您希望获得在-f
之后给出的命令行参数,在这种情况下,您将从命名空间
对象中去掉该特定标志:
print(sorthelper.sortNumbers(args.f))
另外,您当前的代码将打印
None
,因为sortNumbers()
不会返回任何内容。内置的sorted()
def sortNumbers(args):
return sorted(args)
返回,该对象的属性表示已解析的标志。这是不可容忍的
似乎您希望获得在-f
之后给出的命令行参数,在这种情况下,您将从命名空间
对象中去掉该特定标志:
print(sorthelper.sortNumbers(args.f))
另外,您当前的代码将打印None
,因为sortNumbers()
不会返回任何内容。内置的sorted()
def sortNumbers(args):
return sorted(args)
sorthelper.sortNumber(args)
应该调用导入的函数并将args
变量传递给它。这和调用任何其他导入的函数没有什么不同。你的问题是什么?请澄清。有关提示,请参阅。例如,如果您正在寻找调试帮助,则需要提供一个。1) 如果您没有使用argparse,而是希望使用特定的硬编码值来调用sortNumbers
,您能这样做吗?2) 您是否尝试在args=parser.parse_args()
之后检查args
的实际外观?你有没有试着阅读文档,看看它是如何工作的?3) 好的,现在把它放在一起-从args
中获取信息,并使用它调用sortNumbers
。你到底被困在哪里?你把args.func(args)
放在哪里,你希望这是什么意思?再次尝试查看文档。什么是args
?它包含哪些数据?根据文档,如何从中获取必要的信息?sorthelper.sortNumber(args)
应该调用导入的函数并将args
变量传递给它。这和调用任何其他导入的函数没有什么不同。你的问题是什么?请澄清。有关提示,请参阅。例如,如果您正在寻找调试帮助,则需要提供一个。1) 如果您没有使用argparse,而是希望使用特定的硬编码值来调用sortNumbers
,您能这样做吗?2) 您是否尝试在args=parser.parse_args()
之后检查args
的实际外观?你有没有试着阅读文档,看看它是如何工作的?3) 好的,现在把它放在一起-从args
中获取信息,并使用它调用sortNumbers
。你到底被困在哪里?你把args.func(args)
放在哪里,你希望这是什么意思?再次尝试查看文档。什么是args
?它包含哪些数据?根据文档,您如何从中获得必要的信息?感谢您对argparse的帮助。你终于帮我摆脱了这一切。后来我在打印函数时遇到了麻烦,但最终还是成功了。最后我使用了:answer=sorthelper.sortNumbers(args.f)print(answer)
感谢您对argparse的帮助。你终于帮我摆脱了这一切。后来我在打印函数时遇到了麻烦,但最终还是成功了。我最终使用了:answer=sorthelper.sortNumbers(args.f)print(answer)