📜  Python OS模块

📅  最后修改于: 2020-10-28 01:07:50             🧑  作者: Mango

Python OS模块

Python OS模块提供了在用户和操作系统之间建立交互的功能。它提供了许多有用的OS功能,这些功能可用于执行基于OS的任务并获取有关操作系统的相关信息。

该操作系统属于Python的标准实用程序模块。该模块提供了使用依赖于操作系统的功能的便携式方法。

Python OS模块使我们可以处理文件和目录。

To work with the OS module, we need to import the OS module.
import os

OS模块中有一些功能,如下所示:

os.name()

此函数提供了它导入的操作系统模块的名称。

当前,它注册“ posix”,“ nt”,“ os2″,“ ce”,“ java”和“ riscos”。

import os 
print(os.name) 

输出:

nt

os.mkdir()

os.mkdir()函数用于创建新目录。考虑以下示例。

import os
os.mkdir("d:\\newdir")

它将在名为文件夹newdir的D驱动器中的函数的字符串参数中创建路径的新目录。

os.getcwd()

它返回文件的当前工作目录(CWD)。

import os   
print(os.getcwd())   

输出:

C:\Users\Python\Desktop\ModuleOS

os.chdir()

os模块提供chdir()函数来更改当前工作目录。

import os
os.chdir("d:\\")

输出:

d:\\

os.rmdir()

rmdir()函数将删除具有绝对路径或相关路径的指定目录。首先,我们必须更改当前工作目录并删除该文件夹。

import os
# It will throw a Permission error; that's why we have to change the current working directory.
os.rmdir("d:\\newdir")
os.chdir("..")
os.rmdir("newdir")

os.error()

os.error()函数定义操作系统级别的错误。如果文件名和路径等无效或无法访问,则会引发OSError。

import os

try:
    # If file does not exist,
    # then it throw an IOError
    filename = 'Python.txt'
    f = open(filename, 'rU')
    text = f.read()
    f.close()

# The Control jumps directly to here if
# any lines throws IOError.
except IOError:

    # print(os.error) will 
    print('Problem reading: ' + filename)   

输出:

Problem reading: Python.txt

os.popen()

此函数打开文件或通过指定的命令打开文件,并返回连接到管道的文件对象。

import os   
fd = "python.txt"    
  
# popen() is similar to open()   
file = open(fd, 'w')   
file.write("This is awesome")   
file.close()   
file = open(fd, 'r')   
text = file.read()   
print(text)   
    
# popen() provides gateway and accesses the file directly   
file = os.popen(fd, 'w')   
file.write("This is awesome")   
# File not closed, shown in next function.    

输出:

This is awesome

os.close()

此函数使用描述符fr关闭关联的文件。

import os   
fr = "Python1.txt"  
file = open(fr, 'r')   
text = file.read()   
print(text)   
os.close(file)     

输出:

Traceback (most recent call last):
  File "main.py", line 3, in 
    file = open(fr, 'r')
FileNotFoundError: [Errno 2] No such file or directory: 'Python1.txt'

os.rename()

可以使用函数os.rename()重命名文件或目录。如果用户有权更改文件,则可以重命名该文件。

import os   
fd = "python.txt"  
os.rename(fd,'Python1.txt')   
os.rename(fd,'Python1.txt')   

输出:

Traceback (most recent call last):
  File "main.py", line 3, in 
    os.rename(fd,'Python1.txt')
FileNotFoundError: [Errno 2] No such file or directory: 'python.txt' -> 'Python1.txt'

os.access()

此函数使用真实的uid / gid来测试调用用户是否有权访问该路径。

import os   
import sys  
  
path1 = os.access("Python.txt", os.F_OK)   
print("Exist path:", path1)   
    
# Checking access with os.R_OK   
path2 = os.access("Python.txt", os.R_OK)   
print("It access to read the file:", path2)   
    
# Checking access with os.W_OK   
path3 = os.access("Python.txt", os.W_OK)   
print("It access to write the file:", path3)   
    
# Checking access with os.X_OK   
path4 = os.access("Python.txt", os.X_OK)   
print("Check if path can be executed:", path4)  

输出:

Exist path: False
It access to read the file: False
It access to write the file: False
Check if path can be executed: False