分享

【Python】自动化编程之系统操作 OS 库

 网摘文苑 2023-02-08 发布于新疆

OS 简介

#python# #python自学#

'os' 是 Python 中内置的一个标准库,它提供了访问操作系统的功能。它可以完成一些基本的文件和目录管理任务,例如创建、删除、移动、复制、获取文件的属性等等。它还可以执行一些系统级的任务,例如获取环境变量、修改工作目录、生成随机数等等。总的来说,'os' 库提供了与操作系统交互的大量功能,是 Python 开发者不可缺少的重要工具。

OS 基本用法

要使用 'os' 库,首先需要导入它:

import os

然后就可以使用 'os' 库提供的各种功能了。下面是一些常用的功能以及它们的使用方法:
获取当前工作目录:

current_dir = os.getcwd()

修改当前工作目录:

os.chdir('/path/to/directory')

创建目录:

os.mkdir('/path/to/directory')

删除目录:

os.rmdir('/path/to/directory')

获取文件属性:

file_stats = os.stat('/path/to/file')

删除文件:

os.remove('/path/to/file')

重命名文件:

os.rename('/path/to/old_file', '/path/to/new_file')

OS 高级用法

获取目录下的所有文件:

import os# 获取目录下的所有文件def get_all_files_in_dir(dir_path): # 使用 listdir 函数获取目录下的所有文件和目录的名称 items = os.listdir(dir_path) all_files = [] # 遍历所有的项 for item in items: item_path = os.path.join(dir_path, item) # 如果当前项是文件,则加入 all_files 列表 if os.path.isfile(item_path): all_files.append(item_path) # 如果当前项是目录,则递归调用 get_all_files_in_dir elif os.path.isdir(item_path): all_files.extend(get_all_files_in_dir(item_path)) return all_files# 测试代码all_files = get_all_files_in_dir('/path/to/directory')for file in all_files: print(file)

搜索文件:

import os# 搜索文件def search_file(dir_path, file_name):    # 使用 listdir 函数获取目录下的所有文件和目录的名称    items = os.listdir(dir_path)    # 遍历所有的项    for item in items:        item_path = os.path.join(dir_path, item)        # 如果当前项是文件,判断文件名是否与要搜索的文件名相同        if os.path.isfile(item_path):            if item == file_name:                return item_path        # 如果当前项是目录,则递归调用 search_file        elif os.path.isdir(item_path):            file_path = search_file(item_path, file_name)            # 如果找到了文件,直接返回            if file_path is not None:                return file_path    # 如果在当前目录下没有找到文件,则返回 None    return None# 测试代码file_path = search_file('/path/to/directory', 'file_name.txt')if file_path is not None:    print('找到文件:', file_path)else:    print('未找到文件')

用 shutil 库复制、移动、删除目录及其内容:

import shutil# 复制目录,包括所有子目录和文件shutil.copytree('/path/to/src', '/path/to/dst')# 移动目录,等同于重命名shutil.move('/path/to/src', '/path/to/dst')# 删除目录及其内容shutil.rmtree('/path/to/dir')

用 glob 库快速查找满足某个模式的文件:

import glob# 查找所有以 .txt 结尾的文件files = glob.glob('/path/to/dir/*.txt')# 查找所有子目录下以 .txt 结尾的文件files = glob.glob('/path/to/dir/**/*.txt', recursive=True)

用 pathlib 库简化文件系统操作:

from pathlib import Path# 创建目录Path('/path/to/dir').mkdir(parents=True, exist_ok=True)# 判断目录是否存在if Path('/path/to/dir').exists(): print('目录存在')else: print('目录不存在')# 遍历目录下的所有文件和目录for item in Path('/path/to/dir').iterdir(): print(item)# 删除目录Path('/path/to/dir').rmdir()

这只是 'os' 库的一部分功能,更多的功能请参考 Python 官方文档。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多