本文主要介绍如何用Python对文件进行操作
前言
一、代码展示
总结
这里我们介绍一下怎么利用Python去改文件中的名字,以及文件中的空格如何进行替换或者去除,这里用到了一个函数,就是os.rename(src, dst),看名字就知道这就是改名字,src代表旧文件路径,dst代表目标路径
from glob import glob
import os
class Rename_File(object):
def __init__(self, path: str, mode: str):
super(Rename_File, self).__init__()
"""
path : 文件路径
mode : 模式,是训练模式还是测试模式(这里的mode我是为了自己的方便加上去的,也可以去除mode这个参数)
这里需要注意,就是需要改名字的文件和本程序需放置在同一磁盘内,也就是说,你的文件在D盘,那么该程序也应该在D盘运行;
对文件在同一磁盘的不同文件夹的情况,可以进行改名
此类的功能:为相应的文件进行改名
remove_space() : 去除空格
rename() : 为文件进行重命名
"""
self.path = path
self.mode = mode
# 替换文件名中的空格为 "-"
def remove_space(self):
file_list = os.listdir(self.path)
print(file_list)
i = 0
for item in file_list:
new_name = item.replace(" ", "_")
old_dir = os.path.join(os.path.join(self.path, item))
new_dir = os.path.join(os.path.join(self.path, new_name))
os.rename(old_dir, new_dir)
# 给文件进行改名
def rename(self):
file_list = os.listdir(self.path)
i = 0
for item in file_list:
# 筛选文件后缀是 .jpg 的文件进行改名
# 这里请注意:.JPG 后缀和 .jpg 后缀虽然都是 jpg图片,但是在程序看来是不同的后缀,务必注意
if item.endswith(".JPG") | item.endswith(".jpg"):
# 名字的格式,可以根据所需进行定制
name = r"Rust_" + self.mode + r"_" + str(i) + ".jpg"
# 旧名字的路径
old_dir = os.path.join(os.path.abspath(self.path), item)
# 新名字的路径
new_dir = os.path.join(os.path.abspath(self.path), name)
os.rename(old_dir, new_dir)
i = i + 1
if __name__ == '__main__':
path = 'train/Rust'
mode = "train"
new_name = Rename_File(path, mode)
new_name.remove_space()
new_name.rename()
相对来说还是不难的,可以自己创建一点空的txt文件进行练习。