在我的代码中,触发了以下错误,我不明白这种情况是如何出现的:
if(len(sys.argv) > 0):
doSomething()
else:
raise AttributeError("Could not parse script name")
上面的代码是在python类中,我在一些脚本中导入和使用它。我在其他脚本中使用相同的调用同一个类,并且在其他任何地方都可以正常工作。 仅供参考,我的操作系统是ubuntu。
len(sys.argv)怎么可能< = 0?
答案 0 :(得分:1)
好的,我们找到了答案; @nneonneo给出了正确的提示,在某些时候实际上argv被修改了:
String request_origin = request.getHeader("referer");
//check if origin of the request
//is coming from known source
if(!knownURIs(request_origin)){
//reject the request
}
else
//process request
我想该代码的作者想要做一些不同的事情,因为这实际上也删除了sys.argv [0]。我们希望通过以下方式进行更改:
args = sys.argv
del args[0]
谢谢!