我在学习模式----这可能是一个愚蠢的问题,但它是:我知道在python的www.example.com中有一个system()函数os.py,但在github的os.py中找不到。
根据python文档,它说“这是通过调用标准C函数system()
实现的,并且具有相同的限制。”所以我的问题是“这背后的机制是什么?”
代码:https://github.com/python/cpython/blob/3.11/Lib/os.py
我在学习模式----这可能是一个愚蠢的问题,但它是:我知道在python的www.example.com中有一个system()函数os.py,但在github的os.py中找不到。
根据python文档,它说“这是通过调用标准C函数system()
实现的,并且具有相同的限制。”所以我的问题是“这背后的机制是什么?”
代码:https://github.com/python/cpython/blob/3.11/Lib/os.py
2条答案
按热度按时间a8jjtwal1#
这个函数是用C写的。
这里的代码(来自
cpython/Modules/posixmodule.c
)是定义os.system
的地方。请注意调用
system(bytes)
的行。C中的system
函数是标准C库的一部分,所以如果你想了解更多关于C函数的信息,你可以去那里看看。你可能会问:“为什么要用C写?”答案很简单,C可以很容易地与您的计算机交互,尽管Python也可以,但需要另一个C模块才能从Python中做到这一点。直接用C编写这样的代码更容易、更好看、更快。
4bbkushb2#
在www.example.com中os.py,有代码可以查找和导入这样的系统调用:
这可能是您在
os.py
中寻找的内容--至少可以回答以下问题 * 为什么我在www.example.com中看不到这个内容os.py?*posix -最常见的POSIX系统调用
这个模块提供了对由C标准和POSIX标准(一个几乎伪装的Unix接口)标准化的操作系统功能的访问。