如何将在不同文件夹下的批量plt文件转换为txt文件--python

1.背景

    在做毕设实验的时候,需要大量的轨迹数据集。其中有一部分数据集的格式为plt,想查看其中内容,却发现还需要下载其他软件才可以打开。多麻烦~~,倒不如直接把他转换为txt文件,也方便后续实验。

2.转换方法

2.1 单个plt文件转换为txt文件

代码很简单,打开文件,读取内容,再将读取的内容写入新的文件即可。
当然,手动改个文件名后缀也是可以的

#文件路径
fread="C:\\Users\\**.plt"
#打开文件
fp=open(fn,'r+')
#获取文件内容
lines=fp.readlines()
#关掉读入
fp.close()

l_list=lines[:]
#写入路径
fwrite='C:\\Users\\**.txt'
#追加写
fp=open(fw,'w+')
#将每一行写进去
for line in l_list:
    fp.write(line)
#关掉写入
fp.close()
2.2不同文件夹下大量plt文件如何修改呢

其实主要问题也就是要走通所有的子目录,然后每一个按照2.1中去做就好了。(细节可以 看代码注释)

import os
#文件夹根目录
file_dir = "C:\\Users\\Administrator\\Data"
#os.walk()方法就是以当前路径为根目录递归遍历其所有子目录,返回值类型分为str,list,list,含义分别是当前根目录,目录文件列表,非目录文件列表
for root,dirs,files in os.walk(file_dir):
    for file_name in files:
    	#找到以plt结尾的文件
        if file_name.endswith('.plt'):
            #读取plt文件内容
            rpath = root +"\\"+file_name
            fread  = open(rpath,'r+')
            lines = fread.readlines()
            fread.close()
            l_list = lines[:]
            #将文件内容转换至txt
            #这里我是想将所有的txt文件存放至'C:\\Users\\Administrator\\Data'中
            root_list = list(root)
            root_list.insert(root.find('Data')+4,'intxt')
            wpath = ''.join(root_list)
            #如果改文件夹不存在,则创建文件夹(因为plt还有很多上级目录,所以使用makedirs)
            if not os.path.exists(wpath):
                os.makedirs(wpath)
            #写入
            wpath += "\\"+ file_name[:len(file_name) - 3] + 'txt'
            fwrite = open(wpath, 'w+')
            for line in l_list:
                fwrite.write(line)
            fwrite.close()

3.总结

    代码很简单,但是如果换成人工操作那几万个plt文件,那可是要费点力气的。我使用python也不多,权当代码练习了吧!

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值