zoukankan      html  css  js  c++  java
  • dos2unix 批量转化文件

    在windows和linux双平台下开发,同时也用git作为同步工具,但前期没有注意,导致很多文件使用windows下的换行符CRLF

    参考资料了解dos2unix可以转化格式。

    但有个问题,虽然可以对文件夹直接操作,但不能处理文件夹中子文件夹文件

    查了些,还是不知道如何列出windows子文件路径。因此打算直接使用python遍历文件夹下所有文件,调用命令行dos2unix处理文件。下面是python的代码

    import subprocess
    
    def run_cmd_async(shell_str):
        """非堵塞,调用命令行, 返回类变量,需自行获取运行结果"""
        shell_result = subprocess.Popen(shell_str, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
        return shell_result
    import os
    
    def grc_run(src):
        for f in os.listdir(src):
            raw_path = os.path.join(src, f)
            if os.path.isdir(raw_path):
                grc_run(raw_path)
            else:
                print(raw_path)        
                run_cmd_async('"C:\Program Files\Git\usr\bin\dos2unix.exe" -k '+ raw_path)

    1.上面的  "C:\Program Files\Git\usr\bin\dos2unix.exe"  是我自己电脑dos2unix路径,请各位修改。

    2.保持文件时间戳不变,加上-k参数

    grc_run('./')

    最后运行python代码,指定需要转化的文件夹路径。上面代码是转化当前文件夹。

  • 相关阅读:
    关于螺旋矩阵的问题
    JDK 1.5 for 循环的新写法
    Java基础视频笔记(三)
    关于接口的理解
    常用的DOS命令
    Java基础视频笔记(二)
    Eclipse的常用快捷键备忘
    Java基础视频笔记(四):泛型
    异常设计准则
    多重继承和虚继承的内存布局(转)
  • 原文地址:https://www.cnblogs.com/duoxuan/p/9897665.html
Copyright © 2011-2022 走看看