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

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

     

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值