python文件操作大全

更换字典的值
dict1={'name':1,'age':2}
dict2={'name':11,'age':22,'sex':'男'}
dict1.update(dict2)
print(dict1)

输出结果:
{'name':11,'age':22,'sex':'男'}
删除字典某键
dict.pop(dict[key])
列表的pop
删除列表的最后一个元素
list.pop()


删除列表下标为index的元素
list.pop(index)
zip函数
  • 将不同可迭代对象对应位置处的元素,打包成一个个元组
list1=[1,2,3,4]
list2=['a','b','c','d']
zip(list2,list1)
<zip at 0x2472e6cddc0>		###返回的是一个zip对象

list(zip(list2,list1))
[('a',1),('b',2),('c',3),('d',4)]
enumerate函数
  • 循环下标和值
list1=[3,2,1,0]
for index,value in enumerate(list1):
	print(index,value)

0 3
1 2
2 1
3 0
abs()函数
  • 打印出绝对值
print(abs(-1))
1
chr()函数
  • chr(97) 返回字符串 a,chr(8364) 返回字符串 €。它的功能与 ord() 函数相反。
os.getcwd():获取当前目录
os.listdir(path) 遍历path路径下的文件
os.walk(path) 遍历这个路径下的所有文件 包含子文件夹里的文件
path='D:/work'
for dirpath,dirnames,filenames in os.walk(path):
	print(f"当前文件夹的绝对路径:{dirpath}")
	print(f"当前文件夹的子文件夹:{dirnames}")
	print(f"当前文件夹的子文件:{filenames}")
os.path.exists(path):判断path是否存在 文件夹或者文件都可以
os.path.isfile(path):判断是否为文件
os.path.isdir(path):判断是否为文件夹
os.path.join():拼接路径
os.path.split():拆分路径
path1='D:/work'
path2='t.xlsx'
path=os.path.join(path1,path2)
D:/work/t.xlsx

os.path.split(path)
('D:/work','t.xlsx')
os.mkdir(path):创建文件夹
os.makedirs(path):递归创建多层文件夹
  • 如果文件夹存在则报错
os.rename(old_name,new_name):更改文件名
复制文件
  • 如果目标文件夹内已经存在同名文件,那么复制操作将直接替换原文件
import shutil
src='D:/work/文件夹1/t.xlsx'
dst='D:/work/文件夹2'
shutil.copy(src,dst)
复制文件并重命名
import shutil
src='D:/work/文件夹1/t.xlsx'
dst='D:/work/文件夹2/t-副本.xlsx'
shutil.copy(src,dst)
复制文件夹
  • 如果目标地址中存在同名文件夹,则会报错
###将文件夹1复制到文件夹2里
src='D:/work/文件夹1'
dst='D:/work/文件夹2/文件夹1'
shutil.copytree(src,dst)
复制文件夹并重命名
src='D:/work/文件夹1'
dst='D:/work/文件夹2/文件夹1-副本 '
shutil.copytree(src,dst)
移动文件
src='D:/work/文件夹2/text.txt'
dst='D:/work'
shutil.move(src,dst)
移动文件并重命名
src='D:/work/文件夹2/text.txt'
dst='D:/work/text-副本.txt'
shutil.move(src,dst)
移动文件夹同上
文件/文件夹的删除
  • os.remove():只删除文件
  • os.rmdir():只删除空文件夹
  • shutil.rmtree():只删除文件夹 可以为空 可以不为空
查找文件
字符解释
*匹配0或多个字符
匹配一个字符
[]匹配指定范围内的字符,比如[0-9],[a-z]
**与recursive搭配使用,代表递归调用,默认为False,为True时可以实现进入路径的子目录中去匹配文件
import glob
glob.glob(匹配规则)


for i in glob.glob('D:/案例/**/*2021*.xlsx',recursive=True):
	print(i)

D:/案例/20211.xlsx
D:/案例/1/12021.xlsx
D:/案例/2/2021.xlsx
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值