• Python 文件和文件夹操作


    文件操作

    文件权限

    模式操作若文件不存在是否覆盖
    rb二进制只读报错-
    r+可读可写报错
    w只写创建
    wb二进制只写创建
    w+可读可写创建
    a只写创建否,追加写
    a+可读可写创建否,追加写

    打开/创建 文件

    open('path', 'mode')
    打开一个文件如果需要指定路径,为防止路径中的 \python干扰,
    最好在路径字符串前面加 r,即保持字符原始值的意思。 或者将 \ 改成 /
    如:file_path = r'C:\Users\Administrator\Desktop\test.pdf'

    需要注意的是:原始字符串的结尾不能加 \ ,如果要加 \,可以单独写 \。先写一个原始字符串,再写一个包含转义符的字符串 \\ ,python会自动把这两个字符串拼接起来。
    例如: path4 = r'D:\now\project\demo''\\'

    当使用 open 打开文件时, 如果我们在关闭文件前出现了程序报错,那么打开后的文件就没有进行关闭;为了避免这个问题,在 python 中提供了 with open 的方式来打开文件,并自动关闭。例:

    with open('test.txt') as f:

    读取文件

    函数说明
    file.read([size])从文件读取指定的字节数,如果未给定或为负则读取所有。
    file.readlines([sizeint])读取所有行并返回列表,若给定sizeint>0,则是设置一次读多少字节,这是为了减轻读取压力。
    file.readline([size])读取整行,包括 “\n” 字符。

    文件写入

    函数说明
    file.write(str)将字符串写入文件,返回的是写入的字符长度。
    file.writelines(sequence)向文件写入一个序列字符串列表,如果需要换行则要自己加入每行的换行符。

    文件删除

    函数说明
    os.remove(filePath)path 是文件的路径,如果这个路径是一个文件夹,则会抛出 OSError 的错误,这种情况需要用 rmdir() 来删除
    os.unlink(filePath)unlink 的功能和 remove 一样是删除一个文件,但是删除一个正在使用的文件会报错。
    os.rmdir(dirPath)path 是文件夹路径,注意文件夹需要时空的才能被删除
    os.removedirs(dirPath)递归地删除目录。如果子目录成功被删除,则将会成功删除父目录,子目录没成功删除,将抛异常。

    文件夹操作

    导入模块

    import os
    
    • 1

    常用方法

    函数说明
    os.getcwd()获得程序运行的当前目录所在位置,一般是Python解释器所在路径
    os.path.join(folder_path : str, file_name : str)拼接目录路径和文件名
    os.path.exists('directory_name')判断文件夹或者是文件是否存在
    os.mkdir("文件夹名称")新建一个文件夹,并且深度只能为 1
    os.makedirs(r"目录1\目录2")创建多级目录
    os.listdir(folder_path)列出目录下的所有文件和文件夹
    os.path.isfile(file_path)判断是否为文件
    os.rmdir(folder_path)删除文件夹,只能删除空文件夹
    os.path.abspath(path)path可以是一个文件名也可以是一个相对路径,该函数将返回它的绝对路径
    os.path.dirname(path)去掉文件名,返回目录
    os.path.abspath(relative_path)用来获取绝对路径的函数,它可以将相对路径转换为绝对路径
    import os
    os.getcwd()
    
    os.path.join(folder_path : str, file_name : str)
    
    os.path.exists('directory_name')
    
    os.makedirs(r"目录1\目录2")
    
    os.listdir(folder_path)
    
    os.path.isfile(file_path)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    删除非空文件夹

    import shutil
    shutil.rmtree("test_delete")
    
    • 1
    • 2

    获取当前运行脚本所在路径

    import sys
    currentPath = sys.path[0]
    print(currentPath)
    
    • 1
    • 2
    • 3

    将相对路径转成绝对路径

    base_path = os.path.abspath(".")  # 相当于获取当前所在绝对路径
    
    • 1
    
    import os
    
    relative_path = './test.txt'
    
    absolute_path = os.path.abspath(relative_path)
    
    print(absolute_path)
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    输出结果为:

    
    /Users/username/Documents/test.txt
    
    
    • 1
    • 2
    • 3
  • 相关阅读:
    mac无法读取移动硬盘怎么办?mac怎么使用ntfs硬盘
    VR全景对行业发展有什么帮助?VR全景制作需要注意什么?
    解决方案|法大大电子签:3招击破汽车销售效率及成本难题!
    致远OA(A8) REST接口 python版
    包含日志文件
    【云原生】Kubernetes介绍
    Python基础入门篇【45】--python中json文件及yaml文件的应用
    Java基础之继承、多态、抽象类
    day05 ELasticsearch搜索引擎
    Ubuntu上安装 Chrome 浏览器
  • 原文地址:https://blog.csdn.net/m0_56208280/article/details/132695821