Python基础---文件File的处理_shutil库

本文详细介绍了使用Python的shutil库进行文件复制、移动、删除及权限设置的方法,包括copy、copy2、copyfileobj、copyfile、copytree、copymode、copystat、rmtree、move和which等函数的具体应用。
文件File的复制
复制

复制需要导入shutil库  

import shutil

src ---> source 源文件缩写

dst ---> destination 目的地缩写

1、copy()

  语法:shutil.copy(src, dst)

  功能:复制文件,如果当前路径中已存在同名称文件,则直接覆盖掉

  返回值:复制后新文件的路径dst

复制代码
1 import shutil
2 
3 file_path = r'C:\Users\hasee\Desktop\test_code\test.txt'
4 new_path = r'C:\Users\hasee\Desktop\new.txt'
5 path = shutil.copy(file_path, new_path)
6 print(path)
7 --->C:\Users\hasee\Desktop\new.txt
复制代码
 可以看到新文件new.txt文件的时间属性是全新的

2、copy2()

  语法:shutil.copy2(src, dst)

  功能:复制文件,但是会保留原数据,例如原文件的时间等信息

       如果当前路径中已存在同名称文件,则直接覆盖掉

  返回值:复制后新文件的路径dst

复制代码
1 import shutil
2 
3 file_path = r'C:\Users\hasee\Desktop\test_code\test.txt'
4 new_path = r'C:\Users\hasee\Desktop\new1.txt'
5 path = shutil.copy2(file_path, new_path)
6 print(path)
7 --->C:\Users\hasee\Desktop\new1.txt
复制代码


可以和copy()方法的截图看到 修改时间没有改变

 3、copyfileobj()

  语法:shutil.copyfileobj(fsrc, fdst)  

     参数其实就是两个文件的指针 open(file_path, mode)

     其中 fsrc 的 mode 为 r

        fdst 的 mode 为 w 或 a

  功能:复制源文件中的内容到目标文件中

1 import shutil
2 
3 file_path = r'C:\Users\hasee\Desktop\test_code\test.txt'
4 new_path = r'C:\Users\hasee\Desktop\new.txt'
5 shutil.copyfileobj(open(file_path, 'r'), open(new_path, 'w'))
4、copyfile()

  语法:shutil.copyfile(src, dst)

  功能:复制源文件中的内容到目标文件中,默认源文件为读取r状态,目标文件为写入w状态

1 import shutil
2 
3 file_path = r'C:\Users\hasee\Desktop\test_code\test.txt'
4 new_path = r'C:\Users\hasee\Desktop\new.txt'
5 shutil.copyfile(file_path, new_path)
5、copytree()

  语法:shutil.copytree(src, dst)

  功能:复制整个目录或文件夹,如果当前路径中已经存在目录,则会报错

  返回值:dst

1 import shutil
2 
3 dir_path = r'C:\Users\hasee\Desktop\test_code'
4 new_path = r'C:\Users\hasee\Desktop\new'
5 shutil.copytree(dir_path, new_path)
6、copymode()

  语法:shutil.copymode(src, dst)

  功能:复制源文件的所有权限,但是其他不复制

1 import shutil
2 # 在例子中,我设置了test.txt为只读,通过复制,new.txt也变成了只读
3 file_path = r'C:\Users\hasee\Desktop\test_code\test.txt'
4 new_path = r'C:\Users\hasee\Desktop\new.txt'
5 shutil.copymode(file_path, new_path)
7、copystat()

  语法:shutil.copystat(src, dst)

  功能:复制原数据(状态) 例如访问修改等时间信息

1 import shutil
2 
3 file_path = r'C:\Users\hasee\Desktop\test_code\test.txt'
4 new_path = r'C:\Users\hasee\Desktop\new.txt'
5 shutil.copystat(file_path, new_path)


8、rmtree()

  语法:shutil.rmtree(path)

  功能:移除整个目录,不管是否为空

1 import shutil
2 
3 new_path = r'C:\Users\hasee\Desktop\new'
4 shutil.rmtree(new_path)


  移除的目录不经过回收站,彻底删除



9、move()

  语法:shutil.move(src, dst)

  功能:剪切操作,文件or目录

  返回值:新的path

1 import shutil
2 
3 file_path = r'C:\Users\hasee\Desktop\新建文本文档.txt'
4 new_path = r'C:\Users\hasee\Desktop\new\new_file.txt'
5 shutil.move(file_path, new_path)


10、which()

  语法:shutil.which(cmd)

     cmd ---> command 命令提示符

  功能:检测命令对应的文件路径

1 import shutil
2 
3 path = shutil.which('ipconfig')
4 print(path)
5 --->C:\Windows\system32\ipconfig.EXE


  在Windows中,命令文件以.exe结尾,Linux中则不是

11、disk_usage()

  语法:shutil.disk_usage(path)

       Windows中,path为盘符;Linux中,path = ' / '

  功能:查看磁盘使用量,单位:字节

1 import shutil
2 
3 cap = shutil.disk_usage('C:')
4 print(cap)
5 --->usage(total=106848841728, used=46785527808, free=60063313920)
多源动态最优潮流的分布鲁棒优化方法(IEEE118节点)(Matlab代码实现)内容概要:本文介绍了基于Matlab代码实现的多源动态最优潮流的分布鲁棒优化方法,适用于IEEE118节点电力系统。该方法结合两阶段鲁棒模型与确定性模型,旨在应对电力系统中多源输入(如可再生能源)的不确定性,提升系统运行的安全性与经济性。文中详细阐述了分布鲁棒优化的建模思路,包括不确定性集合的构建、目标函数的设计以及约束条件的处理,并通过Matlab编程实现算法求解,提供了完整的仿真流程与结果分析。此外,文档还列举了大量相关电力系统优化研究案例,涵盖微电网调度、电动汽车集群并网、需求响应、储能配置等多个方向,展示了其在实际工程中的广泛应用价值。; 适合人群:具备一定电力系统基础知识和Matlab编程能力的研究生、科研人员及从事能源系统优化工作的工程师。; 使用场景及目标:①用于研究高比例可再生能源接入背景下电力系统的动态最优潮流问题;②支撑科研工作中对分布鲁棒优化模型的复现与改进;③为电力系统调度、规划及运行决策提供理论支持与仿真工具。; 阅读建议:建议读者结合提供的Matlab代码与IEEE118节点系统参数进行实操演练,深入理解分布鲁棒优化的建模逻辑与求解过程,同时可参考文中提及的其他优化案例拓展研究思路。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值