len(sys.argv) <= 0 怎么可能呢?

How can it be that len(sys.argv) <= 0?

在我的代码中,触发了以下错误,我不明白怎么会出现这种情况:

if(len(sys.argv) > 0):
    doSomething()
else:
    raise AttributeError("Could not parse script name")

以上代码在 python class 中,我将其导入并在某些脚本中使用。我在其他脚本中使用相同的 class 和相同的调用,它在其他任何地方都工作得很好。 仅供参考,我的 OS 是 ubuntu。

len(sys.argv) 怎么可能 <= 0?

好的,所以我们找到了答案; @nneonneo 给出了正确的提示,在某些时候实际上 argv 被修改了:

args = sys.argv
del args[0]

我猜该代码的作者想做一些不同的事情,因为这实际上也删除了 sys.argv[0]。我们希望通过以下方式对其进行更改:

args = sys.argv[1:]

谢谢!