Python判断文件、目录是否存在并创建、删除文件

一、判断文件、目录

1、使用os模块

判断文件是否存在

os.path.isfile(path)

判断目录是否存在

os.path.isdir(path)

判断路径是否存在

# 使用 path 模块
os.path.exists(path)

# 使用 access() 方法
os.access(path, os.F_OK)

2、使用pathlib 模块
import pathlib

path = pathlib.Path(‘path/to/file’)

判断文件是否存在

path.is_file()

判断目录是否存在

path.is_dir()

判断路径是否存在

path.exists()

也可以采用

from pathlib import Path

my_file = Path("/path//file")
if my_file .is_file(): # 指定的文件存在
if my_file.is_dir():   # 指定的目录存在
if my_file.exists():   # 指定的文件或目录存在

二、创建删除文件、目录

import os

# 创建目录
def Mkdir(path): # path是指定文件夹路径
    if os.path.isdir(path):
        # print('文件夹已存在')
        pass
    else:
        os.makedirs(path)
        
# 删除目录
# 第一种
import os
os.rmdir('D:\\ss\\s') # 删除目录 如果该目录非空则不能删除
import shutil
# 第二种
shutil.rmtree(path) # 删除目录 如果该目录非空也能删除

# 创建txt文件
def Txt_Create(path, msg): # path是指定文件路径,msg是写入的文件内容
    if os.path.isfile(path):
        # print('文件已存在')
        pass
    else:
        txt_file = open(path, 'w')
        txt_file.write(msg)
        
# 删除文件
os.remove('D:\\ss\\s\\1.txt') # 删除文件

三、遍历文件夹下所有文件

方法一 : 通过递归实现遍历所有文件夹

import os

def func(path):
    for i in os.listdir(path):
        path2 = os.path.join(path,i)  # 拼接绝对路径
        if os.path.isdir(path2):      # 判断如果是文件夹,调用本身
            func(path2)
        else:
            print(i)
  func(r'D:\ss')  

方法二 : 通过walk方法实现

import os

for a, b, c in os.walk(r'D:\ss'):  #a代表所在根目录;b代表根目录下所有文件夹(以列表形式存在);c代表根目录下所有文件
    for i in c:
    print(i)  #结果与方法一相同

四、确定当前文件名、文件夹名

方法一 : 通过递归实现遍历所有文件夹

import  os

# 这种写法只能用在当前项目文件路径上,如:当前项目文件路劲为C:/Users/CL/PycharmProjects/VTKTest/test/tt.py
folder,filename=os.path.split(__file__) 
print(folder,filename) # C:/Users/CL/PycharmProjects/VTKTest/test   tt.py

方法二 : 通过walk方法实现

import os

for a, b, c in os.walk(r'D:\ss'):  # a代表所在根目录;b代表根目录下所有文件夹(以列表形式存在);c代表根目录下所有文件
   for i in b:
       print(i)
   for j in c:
       print(j)  
输出:
# directory1
# directory2
# file1.docx
# file2.docx
# file3.docx

方法三 : 获取文件路径,直接利用切片获取文件名

     

内容概要:本文针对有源中点箝位(ANPC)三电平并网逆变器在谐波抑制、电网不平衡工况适应性及动态响应性能方面的不足,提出了一种融合双极性倍频脉宽调制(DPWMA)、正负序分离锁相技术与电网电压前馈控制的一体化高性能并网控制策略。通过对ANPC拓扑结构的优势进行分析,结合DPWMA调制提升输出电能质量,利用正负序分离锁相实现电网异常工况下的精确同步,并引入电网电压前馈控制以增强系统抗扰能和动态响应速度。仿真结果表明,该复合控制策略能显著降低并网电流谐波含量,提高锁相精度和系统稳定性,适用于电压不平衡、畸变及动态扰动等复杂电网环境下的大功率并网应用。; 适合人群:具备电电子与电系统基础知识,从事新能源并网、逆变器控制、微电网技术等相关领域的研究生、科研人员及工程技术人员。; 使用场景及目标:①提升大功率并网逆变器在非理想电网条件下的运行性能;②优化逆变器控制策略以实现高质量电能输出和快速动态响应;③为高性能并网系统的设计与仿真提供技术参考和实现方案。; 阅读建议:建议结合Simulink仿真模型进行实践验证,重点关注DPWMA调制的实现机制、正负序分离锁相环的设计方法以及前馈控制环节的参数整定过程,深入理解各模块之间的协同工作机制。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值