• 【python3】文件格式转换windows转为unix、utf-8


    一、场景

           工作需要,有时要将文件上传到 linux 的服务器,希望将文件的格式改为 Unix(LF) 、 utf-8, 可以通过py脚本来批量处理。

    二、代码

    #!/usr/bin/env python3
    # -*- coding: utf-8 -*-
    # @Time : 2019/12/2 11:22
    # @Author : way
    # @Site : 
    # @Describe: 检查 脚本文件 转换格式为 LF , utf-8
    
    import sys
    import os
    import chardet
    
    def turn(file):
        with open(file, 'rb') as f:
            data = f.read()
            encoding = chardet.detect(data)['encoding']
            data_str = data.decode(encoding)
            tp = 'LF'
            if '
    ' in data_str:
                tp = 'CRLF'
                data_str = data_str.replace('
    ', '
    ')
            if encoding not in ['utf-8', 'ascii'] or tp == 'CRLF':
                with open(file, 'w', newline='
    ', encoding='utf-8') as f:
                    f.write(data_str)
                print(f"{file}: ({tp},{encoding}) trun to (LF,utf-8) success!")
    
    if __name__ == "__main__":
        if sys.argv.__len__() != 2:
            print(f"param: python3 etl_file_check.py /home/getway/script/hql")
        else:
            dr = sys.argv[1]
            for path in os.listdir(dr):
                file = os.path.join(dr, path)
                if os.path.isfile(file):
                    turn(file)
  • 相关阅读:
    java快速排序代码
    java操作redis实现和mysql数据库的交互
    python 操作mysql数据库存
    JAVA 操作远程mysql数据库实现单表增删改查操作
    URI和URL及URN的区别
    day06_字符集设置
    day6_oracle手工建库
    day08_SGA后半部分
    day08_存储
    day05_sqlloader基础
  • 原文地址:https://www.cnblogs.com/TurboWay/p/9687576.html
Copyright © 2020-2023  润新知