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

常用方法

函数说明
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)

删除非空文件夹

import shutil
shutil.rmtree("test_delete")

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

import sys
currentPath = sys.path[0]
print(currentPath)

将相对路径转成绝对路径

base_path = os.path.abspath(".")  # 相当于获取当前所在绝对路径

import os

relative_path = './test.txt'

absolute_path = os.path.abspath(relative_path)

print(absolute_path)

输出结果为:


/Users/username/Documents/test.txt

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值