当Python.h瞎搞,我得到这个错误:
AttributeError: 'module' object has no attribute 'argv'
C ++代码:
#include "stdafx.h"
#include "C:/Python27/include/Python.h"
#include <iostream>
using namespace std;
int main()
{
Py_Initialize();
PyRun_SimpleString("import sys\nprint sys.argv[0]");
}
这在Python是:
import sys
print sys.argv[0]
我在想什么?
从概念上讲, sys.argv
应包含的论点了Python与所谓的(以及它被称为下)。 我应该有它,如果它被称为像这样有关系吗?
您可以在调用程序的加载argv
到sys
,如果你想:
int main(int argc, char **argv)
{
Py_Initialize();
PySys_SetArgv(argc, argv);
PyRun_SimpleString("import sys\nprint sys.argv");
}
给
localhost-2:argv $ ./a.out
['./a.out']
localhost-2:argv $ ./a.out arg0 17
['./a.out', 'arg0', '17']
又见Py_SetProgramName
。
文章来源: “AttributeError: 'module' object has no attribute 'argv'” when using Python.h