Python的os模块

Python 的 OS 模块提供了简单的函数,允许我们交互并获取操作系统信息,甚至可以对进程进行一定程度的控制。

Python的操作系统模块

OS模块提供的功能可以让我们对底层操作系统任务进行操作,无论是Windows平台、Macintosh还是Linux都可以。在本课程中,我们将回顾这些功能,以及我们可以用它们做什么。让我们从这些功能和它们提供的信息开始我们的旅程。

Python 导入 os

python os import, python os module

您可以使用如下的一种方式来用中文翻译这句话:

操作系统的名称

该函数返回它导入的操作系统模块的名称。这取决于底层操作系统。目前,它注册了“posix”、“os2”、“ce”、“nt”、“riscos”和“java”。让我们在系统上执行这个。

>>> print(os.name)
posix

显然,根据解释器的不同,这可以输出不同的平台。

`os.environ` 可以用中文表达为:操作系统的环境变量。

环境变量不是一个函数,而是一个过程参数,通过它我们可以访问系统的环境变量。让我们看看示例代码片段。

import os
output = os.environ['HOME']
print(output)
python os environment variable

os.execvp可以被改写为 os.执行vp

execvp函数是在系统上运行其他命令的一种方式之一。让我们来看看这个函数的示例代码片段:

import os
program = "python"
arguments = ["hello.py"]
print(os.execvp(program, (program,) +  tuple(arguments)))

为了这个,我们只需创建一个名为hello.py的样本脚本,代码如下:

print('Hello')
python os module, python os execute other script

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 System command

操作系统出错

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文档。

发表回复 0

Your email address will not be published. Required fields are marked *


广告
将在 10 秒后关闭
bannerAds