其实这是一个比较复杂的问题。
你是通过 os.system() 这个函数来获得的返回值,那么其内部调用的是通过 C++/C 写的和操作系统交互的 Python 底层代码。这里你没有说明你的操作系统是 Unix 还是 Windows 内核,假设你用的是 Unix 内核,那么 Python 的底层代码是 Unix 环境下编译的 C++/C,并且在和系统交互的时候返回值是作为 Error Code 规范来返回的 。
如果返回值为 0,则表示命令执行成功,其它值则表示错误,具体的错误码含义见最下方引用。
在系统的 Error Code 规范里是没有负数的。这里返回负数的原因是 C++/C 里的数据结构中,系统的返回值是一个十进制数,而传递到 Python 的时候, Python通过数据转换变成了其他的数据结构(例如 十六进制)。所以这里在数据转换的时候把一部分数据给错误的截取了。
当然根据你的问题只能分析到这里,你还需要给出更多的环境信息来帮你分析。"OS error code 1: Operation not permitted"
"OS error code 2: No such file or directory"
"OS error code 3: No such process"
"OS error code 4: Interrupted system call"
"OS error code 5: Input/output error"
"OS error code 6: No such device or address"
"OS error code 7: Argument list too long"
"OS error code 8: Exec format error"
"OS error code 9: Bad file descriptor"
"OS error code 10: No child processes"
"OS error code 11: Resource temporarily unavailable"
"OS error code 12: Cannot allocate memory"
"OS error code 13: Permission denied"
"OS error code 14: Bad address"
"OS error code 15: Block device required"
"OS error code 16: Device or resource busy"
"OS error code 17: File exists"
"OS error code 18: Invalid cross-device link"
"OS error code 19: No such device"
"OS error c