Python 对于文件上的一些操作

Python 获取文件夹内所有文件名

RDT_list = os.listdir(RDT_path)
path = './VOCdevkit/VOC2007/JPEGImages/*'
xml_paths = glob.glob(path)

Python 将制定文件复制到新的文件夹中

import os
import shutil

RDT_path = 'D:\\test\\RDT_problem'
RDT_list = os.listdir(RDT_path)
RD_path = 'D:\\test\\evaluate_RD_test'
for i in RDT_list:
        found_name = os.path.join(RD_path, i)
        new_folder =r'D:\test\RD_problem'
        shutil.copy(found_name, os.path.join(new_folder,i))
        print ("copy {} -> {}".format(found_name, os.path.join(new_folder, i)))

Python 文件重命名

old_dir = RDT_path + '\\' + i
new_dir = RDT_path + '\\' + file_name + '.jpg'
os.rename(old_dir, new_dir)

Python 将数据保存成txt/csv格式

def text_save(filename, data):  # filename为写入文件的路径,data为要写入数据列表.
    file = open(filename, 'a')
    for i in range(len(data)):
        s = str(data[i]).replace('[', '').replace(']', '')  # 去除[],这两行按数据不同,可以选择
        s = s.replace("'", '').replace(',', '') + '\n'  # 去除单引号,逗号,每行末尾追加换行符
        file.write(s)
    file.close()
 print("保存文件成功")

Python 随机挑选一定数量数据保存

path = "/data/lshib/MM-DistillNet/dataset/train_all.txt"
ids = get_id_list(path)
sample_num = 20000 # 随机挑选数据的数量
text_save('plt_test_all.txt', random.sample(ids, sample_num))

Python 逐行读取txt文件内容并保存

with open("test.txt", "r", encoding='utf-8') as f:
    for line in f.readlines():
        line = line.strip('\n')  # 去掉列表中每一个元素的换行符
        name = line.split('-')[0]
        List.append(name)

Python 在txt文件中逐行写入列表数据

with open("cc.txt", "w", encoding='utf-8') as f:
    for file in List:
        f.write(file +'\n')
    f.close()

Python 切分数据集

def qieshujuji(xml_paths):
    '''切分数据集'''
    total_num = len(xml_paths)
    train_num = int(0.7 * total_num)
    val_num = total_num - train_num
    index = list(range(0, total_num))
    random.shuffle(index)

    train_txt = "train.txt"
    with open(train_txt, 'w', encoding="utf-8-sig") as f1:
        f1.write("")
    with open(train_txt, 'a', encoding="utf-8-sig") as f1:
        f1.write("text_a\tlabel")
        f1.write("\n")
        for i in range(0, train_num):
            f1.write(xml_paths[index[i]])
            f1.write("\n")

    test_txt = "test.txt"
    # 先清空文件内容
    with open(test_txt, 'w', encoding="utf-8-sig") as f3:
        f3.write("")
    with open(test_txt, 'a', encoding="utf-8-sig") as f3:

        f3.write("text_a\tlabel")
        f3.write("\n")
        for i in range(train_num, total_num):
            f3.write(xml_paths[index[i]])
            f3.write("\n")
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值