Python ';名称空间';对象是不可编辑的

Python ';名称空间';对象是不可编辑的,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

试图使用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 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)