在保存文件或者文件夹的时候,同一个路径容易产生覆盖,因此运行程序有风险。这个代码可以实现判断是否存在当前文件或者文件夹,如果没有则创建,反之则在文件或文件夹后加上“-x”进行迭代创建。
效果如下:
代码如下:
def mkdir(path,filename):
# 引入模块
import os
i=1 # 用于数字迭代
filenames , fext = os.path.splitext(filename) # 将文件名和拓展格式分离来判断是文件还是文件夹
if fext=='':
content= os.listdir(path) # 获取目录下列表
while filenames in content: # 判断是否存在该文件夹或者目录
filenames=filename+'-'+str(i) # 得到新的名称
i+=1
os.makedirs(path+'/'+filenames)
else:
content = os.listdir(path) # 获取目录下列表
name=filenames # 获取名称
filenames=filename # 获取带拓展格式的名称
while filenames in content: # 判断是否存在该文件夹或者目录
filenames = name+'-' + str(i)+fext # 得到新的名称
i += 1
fp = open(path + '/' + filenames,'w') # 生成文件
fp.close()
return path + '/' +filenames
path = "E:/ly/ly" # 定义要创建的目录
filename='newdata.txt' # 定义要创建的名称
# 调用函数
path=mkdir(path,filename)