当前位置:首页>python>Python基础语法之文件处理相关

Python基础语法之文件处理相关

  • 2026-10-21 13:27:31
Python基础语法之文件处理相关
工作中经常需要整理和移动大量文件或文件夹结构重构等场景,本文记录相关python常用语法。方便快速编写脚本加速办公效率。
文件操作

指定路径下的遍历操作

  1. 只对路径下的一级遍历

import os# 指定要遍历的目录路径folder_path = r"[folder]"  # 替换为你要遍历的文件夹路径# 使用 os.listdir() 列出目录下的所有文件和子目录for item in os.listdir(folder_path):    item_path = os.path.join(folder_path, item)  # 构建完整的路径    if os.path.isfile(item_path):        print(f"当前路径指向是文件: {item_path}")    elif os.path.isdir(item_path):        print(f"当前路径指向是目录: {item_path}")    else:        print(f"其他: {item_path}")
  1. 整个文件夹下所有文件遍历

import os# 指定要遍历的目录路径folder_path = r"[folder]"  # 替换为你要遍历的文件夹路径for root, dirs, files in os.walk(folder_path):    print(f"当前目录: {root}")    print("子目录: ", dirs)    print("文件: ", files)    print("\n")

判断目录是否存在,不存在则创建

if not os.path.exists([folder]):    os.makedirs(temp_path)

获取文件名和后缀

# 返回文件名带后缀os.path.basename([path])# 返回[文件名字,后缀]列表os.path.splitext(os.path.basename([path]))

获取目录最后一级名称

last_folder_name = os.path.basename([path])

获取目录上一级目录

pre_folder=os.path.dirname([path])

创建文本文件

with open([path], 'a',encoding='utf-8') as file:    # 写入数据    file.write(f"哈哈哈哈 \n")"""open()函数常见模式    'r':只读模式,如果文件不存在则抛出异常。    'w':写入模式,如果文件不存在则创建,如果文件已存在则覆盖原有内容。    'a':追加模式,如果文件不存在则创建,如果文件已存在则在末尾追加内容。    'x':独占写入模式,如果文件已存在则抛出异常。    'b':二进制模式,用于读取或写入二进制文件。    'U' 或 'rU':以读方式打开,同时提供通用换行符支持。还可以通过组合这些模式来使用,如'r+'表示读写模式,'w+'表示写后读模式等。"""with open([path], 'r+',encoding='utf-8') as file:    file.truncate(0)  # 清空文件内容

读取json文件数据

withopen('arg.json', 'r') asfile:    # json文件中的数据    json_data = json.load(file)    # 具体属性值    attr = json_data["attr"]

删除文件/文件夹

  1. 删除文件

import os# 指定要删除的文件路径file_path = [path]  # 替换为你要删除的文件路径# 检查文件是否存在if os.path.exists(file_path):    # 如果文件存在,使用 os.remove() 删除文件    os.remove(file_path)    print(f"{file_path} 文件已被删除")else:    print(f"文件 {file_path} 不存在")
  1. 删除文件夹(当前的文件夹也会被删除)

import shutil# 指定要删除的文件夹路径folder_path = [folder]  # 替换为你要删除的文件夹路径# 使用 shutil.rmtree() 删除文件夹及其内容 (当前文件夹也会被删除)shutil.rmtree(folder_path)print(f"{folder_path} 文件夹及其内容已被删除")

清空某个文件夹

import osimport shutildef delete_files_and_folders(folder):    """     清空文件夹    :param folder: 文件夹路径    :return:    """    for root, dirs, files in os.walk(folder, topdown=False):        for name in files:            file_path = os.path.join(root, name)            os.remove(file_path)            print(f"文件 {file_path} 已被删除")        for name in dirs:            folder_path = os.path.join(root, name)            shutil.rmtree(folder_path)            print(f"文件夹 {folder_path} 及其内容已被删除")delete_files_and_folders(target_folder)

控制台小工具集合方案

"""	目的:整合多个实用方法,通过控制台进行方法快速调用并实现功能"""def case_a():    print("Case A")def case_b():    print("Case B")def case_c():    print("Case C")# 拓展...def switch_case(value):    switch_table = {        '1': case_a,        '2': case_b,        '3': case_c,        # 拓展...    }    return switch_table.get(value, lambda: print("!!!请输入有效操作!!!"))()if __name__ == "__main__":    while True:        print("--------------------请输入操作--------------------")        print("1. add1")        print("2. add2")        print("3. add3")        # 拓展...        print("0. 退出")        print("------------------------------------------------")        key = input("请输入操作序号:")        if key == "0":            break        switch_case(key)

汉字转拼音

库:pip install pypinyin

Style.NORMAL:表示不带声调的拼音

Style.TONE:表示带有数字声调的拼音

Style.TONE2:表示带有声调数字的拼音

Style.TONE3:表示带有声调点的拼音

def chinese_to_pinyin(text, style=Style.NORMAL):    return ''.join([y[0] for y in pinyin(text, style=style)])

最新文章

随机文章