Python的os模块
Python 的 OS 模块提供了简单的函数,允许我们交互并获取操作系统信息,甚至可以对进程进行一定程度的控制。
Python的操作系统模块
OS模块提供的功能可以让我们对底层操作系统任务进行操作,无论是Windows平台、Macintosh还是Linux都可以。在本课程中,我们将回顾这些功能,以及我们可以用它们做什么。让我们从这些功能和它们提供的信息开始我们的旅程。
Python 导入 os
您可以使用如下的一种方式来用中文翻译这句话:
操作系统的名称
该函数返回它导入的操作系统模块的名称。这取决于底层操作系统。目前,它注册了“posix”、“os2”、“ce”、“nt”、“riscos”和“java”。让我们在系统上执行这个。
>>> print(os.name)
posix
显然,根据解释器的不同,这可以输出不同的平台。
`os.environ` 可以用中文表达为:操作系统的环境变量。
环境变量不是一个函数,而是一个过程参数,通过它我们可以访问系统的环境变量。让我们看看示例代码片段。
import os
output = os.environ['HOME']
print(output)
os.execvp可以被改写为 os.执行vp
execvp函数是在系统上运行其他命令的一种方式之一。让我们来看看这个函数的示例代码片段:
import os
program = "python"
arguments = ["hello.py"]
print(os.execvp(program, (program,) + tuple(arguments)))
为了这个,我们只需创建一个名为hello.py的样本脚本,代码如下:
print('Hello')
os.getuid 取得当前进程的用户id
这个操作系统模块函数返回当前进程的用户ID或UID,正如它通常被称呼的那样。
>>> os.getuid()
501
所以,当前的shell进程ID是501。
os.rename 可以被翻译为”更名”或”改名”。
通过Python的os.rename函数,我们可以轻松地重命名一个文件。
import os
fileDir = "JournalDev.txt"
os.rename(fd,'JournalDev_Hi.txt')
请注意,对于这一点,我们必须为我们的脚本提供正确的权限。
os.system -> 执行系统
Python的os系统函数允许我们在Python脚本中运行命令,就像在我的终端中运行一样。例如:
import os
currentFiles = os.system("users > users.txt")
操作系统出错
Python的os模块错误类是与I/O相关错误的基类。因此,我们可以在except子句中使用OSError来捕获I/O错误。
import os
try:
f = open('abc.txt', 'r') # file is missing
except OSError:
print('Error')
获取进程ID
这个函数返回当前的进程ID或PID,正如其广为人知的那样。
>>> os.getpid()
71622
所以,当前的 shell 进程的用户 ID 是 71622。
列出目錄下的檔案
这个函数只是列出当前工作目录中存在的文件和目录。
>>> import os
>>> os.listdir()
['.DS_Store', '.localized', 'JournalDev', 'Java', 'Python']
它返回一个可迭代的目录和文件名列表。
os.uname 的中文释义是什么?
这个函数返回的信息可以标识出当前操作系统的执行环境。
>>> os.uname()
posix.uname_result(sysname='Darwin', nodename='Shubham.local', release='17.2.0', version='Darwin Kernel Version 17.2.0: Fri Sep 29 18:27:05 PDT 2017; root:xnu-4570.20.62~3/RELEASE_X86_64', machine='x86_64')
那实际上相当详细。 (Nà .)
导入 os.path 与导入 os 的区别。
os.path在实际使用中表现得有些奇怪。它看起来像是os模块的一个子模块,但实际上,os是一个普通的模块,通过与sys.module配合来支持os.path。让我们来列举一下幕后发生的事情。
- When Python starts, it loads many modules into sys.module.
- os module is also loaded when Python starts. It assigns its path to the os specific module attribute.
- It injects sys.modules[‘os.path’] = path so that you’re able to do import os.path as though it was a submodule.
总结
总结
在这节课中,我们学习了Python中OS模块提供的各种功能,并且看到了它们是如何工作的。此外,还可以在这里查看更多有关Python的课程。参考资料:API文档。