# -*- coding: utf-8 -*-
"""
Created on Fri Nov 20 17:12:45 2020
@author: ZeroJ
"""
'''
专治各种 目录&文件 读取问题
'''
import glob
import os
# 删除文件夹下的所有内容
def delFilesInDir(path):
fileNames = glob.glob(path + r'\*')
for fileName in fileNames:
try:
# 删除文件
os.remove(fileName)
except:
try:
# 删除空文件夹
os.rmdir(fileName)
except:
# 文件夹内容不为空,不能删除
delFilesInDir(fileName)
# 现在文件夹内容为空,可以删除
os.rmdir(fileName)
# 删除指定路径的 文件/文件夹(下面所有内容)
def delFileOrDir(path):
if os.path.exists(path):
if not os.path.isdir(path): # 文件
os.remove(path)
else: # 文件夹
delFilesInDir(path)
os.rmdir(path)
# 级联生成 文件夹[文件]
def generateFileWithDir(path):
dirPath = ''
if '.' in path: # 文件
dirPath = '\\'.join(path.split('\\')[:-1]) if '\\' in path else '/'.join(path.split('/')[:-1])
if not os.path.exists(dirPath): #如果需要生成的文件已有上级文件夹,则不生成文件夹
os.makedirs(dirPath)
with open(path, 'w', encoding='utf-8') as f:
f.write('ok');
else: # 文件夹
dirPath = path
os.makedirs(dirPath)
# 获取文件夹下所有文件及对应的路径信息
def getAllFileInfo(dirPath):
fileNames = glob.glob(dirPath + r'\*');
for fn in fileNames:
if not os.path.isdir(fn):
allFileInfo.append(fn)
else:
getAllFileInfo(fn)
# 删除、生成 绝对定位/相对定位 下的文件
dstPath = 'E:/File_Note/Code/Python/CodeExe/dir/test.txt' # 运行文件py在CodeExe下,可使用 '../dir/test.txt'
delFileOrDir(dstPath)
generateFileWithDir(dstPath)
# 获取 绝对定位/相对定位 下的所有文件信息
allFileInfo = []
srcPath = 'E:/File_Note/Code/Python/CodeExe'
getAllFileInfo(srcPath)
Python处理文件及文件夹
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 文件IO常用操作 一般说IO操作,指的是文件IO,如果指的是网络IO,会直接说。 把文件存储到磁盘上的这个过程,叫...
- 黑色的海岛上悬着一轮又大又圆的明月,毫不嫌弃地把温柔的月色照在这寸草不生的小岛上。一个少年白衣白发,悠闲自如地倚坐...