如何用python按照txt序列号批量转移文件?

                     如何用python按照txt序列号批量转移文件?

【描述】

组队参加一个深度学习比赛,队友把数据已经随机分好,为了与队友保持数据上的一致,我需要写一个python脚本,将20g的激光点云数据的训练集按要求划分。

需要划分的数据集

三个文件夹,分别是标定、标签、点云,均有6000个,每个文件名称就是编号。

编号要求

提取为验证集的编号,是一个txt文件,每一行存放一个编号:

 

【解决】

(1)首先从txt文件中获得验证集的编号:

(2)再利用得到的编号,组成验证集的文件名,进行移动操作:

import shutil

(3)总体代码:

import shutil

file = open('validation.txt','r')
number_list=file.readlines()
for i in range(len(number_list)):
    number_list[i]=number_list[i].strip()
# print(number_list)

src_path='calibration/'
target_path='calibration0/'
while True:
    try:
        for number in number_list:
            shutil.move(src_path+number+'.txt',target_path+number+'.txt') #文件名
    except:
        break

(4)其余两个文件夹改一下文件名和文件后缀即可。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我来为你讲解如何使用Pythontxt文件批量转为JSON。 假设你有多个txt文件,它们的文件名都以.txt结尾,你想将它们批量转换为JSON格式并保存在同一目录下。具体的步骤如下: 1. 导入必要的模块 首先,需要导入os和json模块。os模块提供了访问操作系统功能的接口,json模块提供了处理JSON格式的函数。 ``` import os import json ``` 2. 遍历txt文件 使用os模块的listdir函数遍历存储txt文件的目录。然后,使用Python的for循环来迭代目录中的每个文件,找到以.txt结尾的文件,并对它们进行操作。在循环中,使用os.path.join函数创建文件的完整路径。 ``` txt_folder = "/path/to/txt/folder" # 存储txt文件的目录 json_folder = "/path/to/json/folder" # 存储json文件的目录 for file_name in os.listdir(txt_folder): if file_name.endswith(".txt"): txt_path = os.path.join(txt_folder, file_name) ``` 3. 读取txt文件并转换为JSON格式 对于每个txt文件,使用Python的with语句打开文件并读取其内容。然后,使用json模块的loads函数将其转换为Python中的字典类型。 ``` with open(txt_path, 'r') as file: text = file.read() data = json.loads(text) ``` 4. 将Python字典转换为JSON格式 使用json模块的dumps函数将Python字典转换为JSON格式。 ``` json_data = json.dumps(data) ``` 5. 保存JSON文件 将JSON数据写入名为file_name.json的文件中,并将其保存在json_folder中。可以使用Python内置的open函数打开一个新文件,并使用write函数将JSON数据写入该文件。 ``` json_path = os.path.join(json_folder, file_name.replace(".txt", ".json")) with open(json_path, 'w') as file: file.write(json_data) ``` 最终的完整代码如下: ``` import os import json txt_folder = "/path/to/txt/folder" # 存储txt文件的目录 json_folder = "/path/to/json/folder" # 存储json文件的目录 for file_name in os.listdir(txt_folder): if file_name.endswith(".txt"): txt_path = os.path.join(txt_folder, file_name) with open(txt_path, 'r') as file: text = file.read() data = json.loads(text) json_data = json.dumps(data) json_path = os.path.join(json_folder, file_name.replace(".txt", ".json")) with open(json_path, 'w') as file: file.write(json_data) ``` 希望这个代码可以帮助到你。如果还有其他问题,请随时问我。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值