python常用代码块 | 文件/文件夹是否存在;判断是文件还是文件夹;遍历文件夹下的文件

该文介绍了如何使用Python的os模块来检查文件夹和文件是否存在。如果文件夹不存在,会创建它;如果文件已存在,则在文件名后添加编号以避免覆盖。同时,文章提供了遍历文件夹的不同方法,包括os.walk和os.listdir。
import os
#判断文件夹是否存在,不存在则创建
def isDirExist(dirPath):
  if not os.path.exists(dirPath):
    os.makedirs(dirPath)
    #print('文件夹创建成功--'+ dirPath)


#判断文件是否存在,若存在则在末尾增加-0/-1/-2...等
#确保路径中各个文件夹名称不能带有'.',如'd:\pic.zip\123.png' 该路径则会执行错误
def isFileExist(filePath):
  num = 0
  fileType = filePath.split('.')[-1]
  fileStr = filePath.split('.' + fileType)[0]
  while True:
    if os.path.exists(filePath):
      filePath = fileStr + '-' + str(num) + '.' + fileType
      num += 1
    else:
      #print('可生成文件', filePath)
      break
  return filePath
#判断是文件夹还是文件
import os
os.path.isfile(path)
os.path.isdir(path)
#遍历文件夹中的文件
improt os
#方案1: os.walk, 多层文件夹里的文件也可读取
for root, dirs, files in os.walk(path):
  for file in files:
    fpath = os.path.join(root, file)
    print(fpath)

#方案2:os.listdir  只能列出path下的文件/文件夹,path中文件夹里的文件无法读取
files = os.listdir(path)
for file in files:
	fpath = os.path.join(path, file)
	print(fpath)


#方案3:glob 同listdir, 也无法获取到多级文件夹下的文件
import glob
input_path = r'd:\pic'
img_list=[]
if os.path.isfile(input_path):
    img_list = [input_path]
else:
    img_list = sorted(glob.glob(os.path.join(input_path, '*')))
print(img_list)


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值