Python操作系统模块

时间:2020-02-23 14:43:07  来源:igfitidea点击:

Python OS模块提供了简单的功能,这些功能使我们可以进行交互并获取操作系统信息,甚至可以控制进程。

Python OS模块

OS模块提供的功能使我们可以执行基本的操作系统任务,而无论它是Windows平台,Macintosh还是Linux。
在本程序中,我们将回顾这些功能以及如何使用它们。

让我们从这些功能及其提供的信息开始我们的旅程。

Python导入操作系统

请注意,首先我们必须在程序中导入OS模块,然后才能执行其任何功能。

操作系统名称

该函数给出了它导入的OS模块的名称。
这取决于基础操作系统。
目前,它注册了" posix"," os2"," ce"," nt"," riscos"和" java"。

让我们在系统上执行此操作:

>>> print(os.name)
posix

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

os.environ

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

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

当我们运行此脚本时,将输出以下内容:

我们可以使用它来处理环境变量,更多内容请参见Python设置环境变量。

os.execvp

execvp函数是在系统上运行其他命令的方法之一。
让我们看看此功能的示例代码片段:

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

为此,我们使用以下代码创建了一个示例脚本" hello.py":

print('Hello')

当我们运行此脚本时,将输出以下内容:

os.getuid

众所周知,此os模块函数返回当前进程的用户ID或者UID。

>>> os.getuid()
501

因此,当前的shell进程ID为501。

os.rename

使用python os重命名功能,我们可以轻松地重命名文件。

import os
fileDir = "theitroad.txt"
os.rename(fd,'theitroad_Hi.txt')

请注意,为此,我们必须为脚本提供正确的权限。

操作系统

Python os系统功能允许我们在Python脚本中运行命令,就像在shell中运行该命令一样。
例如:

import os
currentFiles = os.system("users > users.txt")

当我运行此脚本时,在同一目录中创建了一个新文件,名称为users.txt,内容字符串为" shubham",这也是由原始shell返回的:

请注意,这是一个非常强大的命令,应谨慎使用。

错误

Python os模块错误类是I/O相关错误的基类。
因此,我们可以使用except子句中的OSError捕获IO错误。

import os

try:
  f = open('abc.txt', 'r')  # file is missing
except OSError:
  print('Error')

os.getpid

众所周知,此函数返回当前进程ID或者PID。

>>> os.getpid()
71622

因此,当前Shell进程的用户ID为71622。

os.listdir

此功能仅列出当前工作目录中存在的文件和目录。

>>> import os
>>> os.listdir()
['.DS_Store', '.localized', 'theitroad', '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 2016; root:xnu-4570.20.62~3/RELEASE_X86_64', machine='x86_64')

这实际上是很详细的。

导入os.path vs导入os

os.path实际上工作异常。
看起来," os"与一个子模块" path"打包在一起,但是实际上," os"是一个普通的模块,可以与" sys.module"一起运行以支持" os.path"。
让我们列出幕后发生的事情:

  • 当Python启动时,它将许多模块加载到sys.module中。

  • Python启动时也会加载os模块。
    它将其路径分配给特定于OS的模块属性。

  • 它注入sys.modules ['os.path'] = path,以便您可以像导入子模块一样导入os.path。