Cla*_*diu 8 python command-line operating-system exception-handling exception
可怜os.system的Python成名会引发异常吗?如果是这样,哪些?
简短回答:是的:
>>> import os
>>> os.system(None)
TypeError ...
Run Code Online (Sandbox Code Playgroud)
答案很长:请查看http://docs.python.org/library/subprocess.html#subprocess-replacements以了解如何避免使用os.system.
在POSIX系统上,它似乎是一个直接传递system()(从Python 2.7.1的posixmodule.c列出):
static PyObject *
posix_system(PyObject *self, PyObject *args)
{
char *command;
long sts;
if (!PyArg_ParseTuple(args, "s:system", &command))
return NULL;
Py_BEGIN_ALLOW_THREADS
sts = system(command);
Py_END_ALLOW_THREADS
return PyInt_FromLong(sts);
}
Run Code Online (Sandbox Code Playgroud)