自学内容网 自学内容网

【python】OS(文件管理)模块(库)

OS库是python的标准库之一,他提供了一系列与操作系统进行交互的功能。通过这个库,我们可以对本地的目录以及文件进行管理。

前言

        作为python中的标准库,OS主要提供了与操作系统相关的操作,如文件和目录管理、进程管理、环境变量处理等。通过这个库,我们可以对文件以及目录进行批量的管理。


目录

前言

正文

一、导入

二、文件以及目录操作(常用)

         1、返回当前操作系统的名称

        2、获得当前工作目录

         3、改变当前工作目录到指定路径

        *4、返回指定路径中的文件和子目录列表

        *5、创建目录(文件夹)

        *6、删除目录(文件夹)

         *7、重命名(或者移动)文件或目录

         9、获取指定路径的状态信息

三、路径操作

        *1、连接路径

        2、返回指定路径的目录名或者文件名(路径中的最后一个组件的名称)

        3、返回路径中最后一个组件之前的部分

        4、检查指定路径是否存在(无论是文件还是目录)

        *5、检查指定路径是否是一个文件

        *6、检查指定路径是否是一个目录(文件夹)

        7、将路径分为两部分,目录和文件名

        8、分离文件名与扩展名

        *9、返回给定路径的绝对路径

四、环境变量

五、执行系统命令

总结


正文

一、导入

        作为python中的标准库是不需要通过pip去下载的可以直接导入使用:

# 直接导入即可
import os

二、文件以及目录操作(常用)

         1、返回当前操作系统的名称

import os
print(os.name)
# 返回posix(通常指代类 Unix 操作系统,如 Linux 和 macOS,这些系统遵循 POSIX 标准),
# nt(代表 Windows NT 系列操作系统)等

        2、获得当前工作目录

import os
print(os.getcwd())  # 输出当前工作目录的路径

         3、改变当前工作目录到指定路径

import os
os.chdir('/python/os')

        *4、返回指定路径中的文件和子目录列表

import os
print(os.listdir('/path/to/directory'))  # 返回该目录中的文件和子目录名称

        *5、创建目录(文件夹)

os.mkdir('路径/目录名')
# 如果路径中的文件夹不存在,会直接报错

          该函数只能在已有的路径下新建一级路径,否则(即新建多级路径)会抛出FileNotFoundError异常。

        在需要新建多级路径的场景下,可以使用makedirs(递归创建目录)来完成任务

os.makedirs('路劲/文件夹名')
# 如果路劲中的文件夹不存在则会直接创建该文件夹

        *6、删除目录(文件夹)

        注意需要删除的目录必须为空目录,即该目录中不含文件或其他目录

os.rmdir('需要删除的目录')  # 删除指定的目录

        如果遇到想要删除的多级目录时可以使用removedirs(递归删除目录)函数,该函数会尝试从最下级目录开始,逐级删除指定的路径,几乎就是一个os.makedirs()的逆过程;一旦遇到非空目录即停止。

os.removedirs('sss/AldealRaysTrialEarly_Ver0.7/AldealRaysTrialEarly_Ver0.7/AldealRaysTrialEarly_Data')  # 路径将会从最后一个开始删除,知道遇见非空目录

         *7、重命名(或者移动)文件或目录

        语法:os.rename(src,dst) 给文件(或目录)重命名

        src:需要更改的路径和文件名,dst:更改后的路径和文件名

os.rename('/path/python', '/path/python_module')  # 重命名,即不改变路劲,只改变变量名
os.rename('/path/python', '/path_new/python')  # 移动,即只改变路劲

        注意:使用该函数时dst的路劲和文件名都可以根据自己的需要随意修改

        *8、删除文件

        直接指定文件路劲即可

os.remove('文件路劲')

         9、获取指定路径的状态信息

# print(os.stat('文件或目录路径'))
print(os.stat('miku'))  # miku是我本地的一个文件夹

        该函数会返回一大串的文件转台信息,下面是我这个文件的信息,不同的文件返回的值不一样,以下仅供参考。

        os.stat_result(st_mode=16895, st_ino=1125899907079300, st_dev=147090170, st_nlink=1, st_uid=0, st_gid=0, st_size=49152, st_atime=1724571299, st_mtime=1723189468, st_ctime=1681979518)

        其中

  • st_mode: 文件类型和权限(16895是八进制的形式,通常用于表示文件类型和权限)。
  • st_ino: 文件的索引节点号。
  • st_dev: 文件所在设备的ID。
  • st_nlink: 硬链接数,即指向此文件的硬链接数量。
  • st_uid: 文件所有者的用户ID。
  • st_gid: 文件所属组的ID。
  • st_size: 文件大小(以字节为单位)。
  • st_atime: 最近访问时间(时间戳形式)。
  • st_mtime: 最近修改时间(时间戳形式)。
  • st_ctime: 文件元数据的改变时间(时间戳形式)。

        注: 一般情况这些数据用不上,可以忽略该函数。

三、路径操作

        *1、连接路径

        常用于路径的拼接

path = os.path.join('folder', 'subfolder', 'file.txt')
print(path)  # 输出: folder\subfolder\file.txt

        2、返回指定路径的目录名或者文件名(路径中的最后一个组件的名称)

        常用于获取文件名

filename = os.path.basename('/path/to/file.txt')
print(filename)  # 输出: file.txt
filename = os.path.basename('/path/to')
print(filename)  # 输出: to

        3、返回路径中最后一个组件之前的部分

        常用于获取路径

dirname = os.path.dirname('/path/to/file.txt')
print(dirname)  # 输出: /path/to

        4、检查指定路径是否存在(无论是文件还是目录)

        常用于判断目录或文件是否存在

exists = os.path.exists('3.txt')
print(exists)  # 文件3.txt存在则返回True,否则返回False
exists = os.path.exists('/path/to/python')
print(exists)  # 目录python存在返回True,否则返回False

        *5、检查指定路径是否是一个文件

        功能和4差不多,不过只能判断文件是否存在

is_file = os.path.isfile('/path/to/file.txt')
print(is_file)  # 输出: True 或 False

        *6、检查指定路径是否是一个目录(文件夹)

        功能和4差不多,不过只能判断目录是否存在

is_directory = os.path.isdir('/path/to/directory')
print(is_directory)  # 输出: True 或 False

        7、将路径分为两部分,目录和文件名

path = '/path/to/file.txt'
directory, filename = os.path.split(path)
print(directory)  # 输出: /path/to
print(filename)   # 输出: file.txt

        8、分离文件名与扩展名

        注意如果给的路径不只有文件名,则会将路径与拓展名分开

filename, extension = os.path.splitext('file.txt')
print(filename)  # 输出: file
print(extension)  # 输出: .txt
filename, extension = os.path.splitext('to/file.txt')
print(filename)  # 输出: to/file
print(extension)  # 输出: .txt

        *9、返回给定路径的绝对路径

absolute_path = os.path.abspath('file.txt')
print(absolute_path)  # 输出: 当前工作目录下file.txt的绝对路径

四、环境变量

        环境变量是操作系统中用于存储系统和用户信息的动态命名值。它们可以影响运行在操作系统中的进程的行为,包含了系统设定、程序路径、用户信息等内容。常见的环境变量包括:

  1. PATH:指定可执行文件的搜索路径。
  2. HOME:用户的主目录路径。
  3. TEMP:临时文件存放目录。

        环境变量通常在系统启动时设置,可以通过命令行或系统设置进行查看和修改。

        获取环境变量

pycharm = os.environ.get('PyCharm')  # 获取环境变量
print(pycharm)  # D:\app\PyCharm 2020.2.5\bin;  输出本地pycahrm的bin路径,具体更具输出结果而定

        设置环境变量

# 设置环境变量
os.environ['MY_VAR'] = '写代码也摆烂'
my_var = os.environ.get('MY_VAR')  # 获取环境变量
print(my_var)

五、执行系统命令

        os.system(系统命令)

os.system('ls -l')

         windown关机:shutdown /s /t 600 # 10分钟后关机

        windown重启:shutdown /r /t 600 # 10分钟后重启


总结

        在编程中涉及到文件和目录相关的操作时,os模块还是很实用的。

        欢迎指正!


原文地址:https://blog.csdn.net/w3360701048/article/details/141063378

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!