python读写txt

下面的脚本涉及python读写txt操作。需要注意的是,向文本写数据时被写入的内容需要是str格式,int、float等格式会报错。

#-*- coding: UTF-8 -*-
 
# from PIL import Image
import os
 
 
def get_filelist(path):
    Filelist = []
    for home, dirs, files in os.walk(path):
        for filename in files:
            # 文件名列表,包含完整路径
            if "txt" in filename:
                Filelist.append(os.path.join(home, filename))
            # # 文件名列表,只包含文件名
            # Filelist.append( filename)
 
    return Filelist
 
 
if __name__ == "__main__":
    filePath = './images'
    # 指定保存的文件夹
    outputPath = './imgs_rotate'
    # 获得文件夹下所有文件
    # filePath = './imgs/' # 只能获取当前路径下的文件,不能递归
    # filenames = os.listdir(filePath)
    Filelist = get_filelist(filePath)
    print(len(Filelist))
    # 迭代所有图片
    for filename in Filelist:
        print(filename)
        # 读取图像 标签
        # im = Image.open(filename)
        f = open(filename, encoding='utf-8')
        label = 0
        c_x = 0
        c_y = 0
        width = 0
        height = 0
        for line in f.readlines():
            print(line)
            data = line.replace('\n', '')
            substr = data.split()
            label = substr[0]
            c_x = substr[1]
            c_y = substr[2]
            width = substr[3]
            height = substr[4]
        f.close()
        # 指定逆时针旋转的角度
        # # 逆时针旋转90°
        # tmp = c_x
        # c_x = c_y
        # c_y = str(1 - float(tmp))
        # tmp = width
        # width = height
        # height = tmp
        # line_info = [label, ' ', c_x, ' ',  c_y, ' ', width, ' ', height, '\n']

        # # 逆时针旋转180°
        # c_x = str(1 - float(c_x))
        # c_y = str(1 - float(c_y))
        # line_info = [label, ' ', c_x, ' ', c_y, ' ', width, ' ', height, '\n']
        # 逆时针旋转270°
        tmp = c_x
        c_x = str(1 - float(c_y))
        c_y = tmp
        tmp = width
        width = height
        height = tmp
        line_info = [label, ' ', c_x, ' ', c_y, ' ', width, ' ', height, '\n']
        # 保存
        output_path = filename.replace(filePath, outputPath)
        outputdir = output_path.rsplit('\\', 1)[0]
        if not os.path.exists(outputdir):
            os.mkdir(outputdir)
        file_lineinfo = open(output_path, 'w', encoding='utf-8')
        file_lineinfo.writelines(line_info)
        file_lineinfo.close()

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

落花逐流水

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值