1、python保存深度训练过程至txt文件。
with open("result.txt", "a") as f: # 打开文件以便写入
print("image_name: ", image_name,file=f)
2、python批量更改文件后缀名
import os
rootdir = r"E:\sf_data_matting\SF_SOD_data0119\Mask"
# newdir = r"E:\mask_png"
# 获取目录下文件名清单
files = os.listdir(rootdir)
# 对文件名清单里的每一个文件名进行处理
for filename in files:
portion = os.path.splitext(filename) # portion为名称和后缀分离后的列表 #os.path.splitext()将文件名和扩展名分开
if portion[1] == ".jpg": # 如果为tiff则更改名字
newname = portion[0] + ".png" # 要改的新后缀 #改好的新名字
print(filename) # 打印出要更改的文件名
#os.chdir(newdir) # 修改工作路径
os.chdir(rootdir) # 修改工作路径
os.rename(filename, newname) # 在工作路径下对文件名重新命名
3、python根据文件名特点筛选图片到另外一个文件夹
import os
import shutil
new_img_folder = r'C:\Users\Administrator\Desktop\test' #保存路径
dir_path = r'E:\sf_data_matting\SF_SOD_data0119\Mask'#源文件夹
for root,dirs,files in os.walk(dir_path):
for file in files:
if file.count('_matte') == 1:
shutil.move(os.path.join(root,file),new_img_folder)#移动,复制为shutil.copy()
print("YES!=",file)
4、根据image文件夹的JPG格式文件名,挑出相应的同名png格式的mask图,保存到新文件夹。
import os
import shutil
rootdir = r"C:\Users\Administrator\Desktop\Image"#确定要的image文件
files = os.listdir(rootdir)
new_img_folder = r'C:\Users\Administrator\Desktop\Mask'#即将存放mask的文件夹
dir_path = r'E:\sf_data_matting\AIM-500\AIM-500\mask'#根据image的文件名,从这个文件夹中挑选相应的mask(image和mask仅后缀名不同)
for file in files:
portion = os.path.splitext(file)
shutil.copy(os.path.join(dir_path, portion[0] + ".png"), new_img_folder)#复制
#shutil.move(os.path.join(dir_path, portion[0] + ".png"), new_img_folder)#移动
print("YES!=", file)
5、python读取文件夹下的所有图片名,保存到txt文件。
#!/usr/bin/python
#coding:utf-8
import os
path_imgs = "./DUTS-TR/DUTS-TR/DUTS-TR-Image/"#文件夹路径
for files in os.listdir(path_imgs):
print(files)#打印图片文件名
img_path = path_imgs+ files
with open("./sf_list.txt", "a") as f:
f.write(str(img_path) + '\n')
6、python根据读取的image文件夹下的图片名,将image和相应mask的图片路径按行写入到txt文件。(image和mask仅后缀名不同)
#!/usr/bin/python
#coding:utf-8
import os
import shutil
source_path = "./DUTS-TR-Image"
files = os.listdir(source_path)
for file in files:
portion = os.path.splitext(file)
with open("./sf_list.txt", "a") as f:
f.write("DUTS-TR-Image/" + str(file) + ' '+"DUTS-TR-Mask/"+ portion[0] + ".png" + "\n")
print("DUTS-TR-Image/" + str(file) + ' '+"DUTS-TR-Mask/"+ portion[0] + ".png" + "\n")
7、python统一调整文件夹下所有图片的size。
import os.path
import glob
from PIL import Image
def convert(file,outdir,width=320,height=320):
img=Image.open(file)
try:
new_img=img.resize((width,height),Image.BILINEAR) new_img.save(os.path.join(outdir,os.path.basename(file)))
except Exception as e:
print(e)
for file in glob.glob("F:\\F_ppm100_MODnet\\*.jpg"):#源图片路径
convert(file,"F:\\resize_ppm100_MODnet")#保存路径
print("Ok!=",file)
8、python批量找到包含空格的文件名,并删除空格
import os
# 输入文件夹地址
path = "./val/fg"
files = os.listdir(path)
# 获取旧名和新名
i = 0
for file in files:
# old 旧名
if file.count(' ') == 1:
old = path + os.sep + file
print("file=",file)
print("old--=",old)
# new是新名,这里的操作是删除了空格
new = path + os.sep + file.replace(' ','')
print("--ok!---newname=",new)
# 新旧替换
os.rename(old,new)
i+=1
print("finish!")
9、python批量转换文件名后缀
import os
class BatchRename():
def __init__(self):
self.path = './val/Image'
def rename(self):
filelist = os.listdir(self.path)
for item in filelist:
portion = os.path.splitext(item)
if portion[1] == ".jpeg":
src = os.path.join(os.path.abspath(self.path), item)
dst = os.path.join(os.path.abspath(self.path), portion[0] + '.jpg')
try:
os.rename(src, dst)
print ('converting %s to %s ...' % (src, dst))
except:
continue
print ('ok!')
if __name__ == '__main__':
demo = BatchRename()
demo.rename()
|