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代码,指定需要转化的文件夹路径。上面代码是转化当前文件夹。
dos2unix 批量转化文件的更多相关文章
- 使用dos2unix批量转换文件
使用dos2unix批量转换文件 dos2unix是Linux下的一个用户转换格式的程序,由于windows上文件的结束符和linux上的不同,那么在windows上编写的文件或者是脚本在Linux上 ...
- 【转】使用dos2unix批量转换文件
原文网址:http://kuaile.in/archives/1208 dos2unix是Linux下的一个用户转换格式的程序,由于windows上文件的结束符和linux上的不同,那么在window ...
- Win10系统下安装labelme,json文件批量转化
一.安装环境:windows10,anaconda3,python3.6 由于框架maskrcnn需要json数据集,在没安装labelme环境和跑深度学习之前,我安装的是anacon ...
- R8—批量生成文件夹,批量读取文件夹名称+R文件管理系统操作函数
一. 批量生成文件夹,批量读取文件夹名称 今日,工作中遇到这样一个问题:boss给我们提供了200多家公司的ID代码(如6007.7920等),需要根据这些ID号去搜索下载新闻,从而将下载到的新闻存到 ...
- gulp批量打包文件并提取公共文件
gulp是前端开发过程中对代码进行构建的工具,是自动化项目的构建利器. browseriyf是模块化打包工具. 一般情况下,Browserify 会把所有的模块打包成单个文件.单个文件在大多数情况下是 ...
- python批量进行文件修改操作
python批量修改文件扩展名 在网上下载了一些文件,因为某种原因,扩展名多了一个后缀'.xxx',手动修改的话因为文件太多,改起来费时费力,于是决定写个小脚本进行修改. 1.要点: import r ...
- 用C#Winform写个简单的批量清空文件内容和删除文件的小工具
用C#Winform写个简单的批量清空文件内容和删除文件的小工具 本文介绍这个简单得不能再简单的小项目.做这个项目,有以下目的. 1 当然是做个能用的工具 2 学习使用Github 关于用VS2013 ...
- mkdir:批量创建文件夹
问题:mkdir dir[0-9]创建文件夹时,并没有如预期创建dir0~dir9这几个文件夹,而是创建了dir[0-9]这一个文件夹. 网上看了些相关资料,发现以前对[0-9]的理解不够透彻: &q ...
- 使用Java中File类批量创建文件和批量修改文件名
批量创建文件 int cont = 1; String s = "E:\\学习资料\\Java笔记-"; while(cont<100){ File f = new File ...
随机推荐
- 51Nod - 1384
全排列函数解法 #include <iostream> #include <cstdio> #include <cstring> #include <cmat ...
- Importing Maven projects' has encountered a problem
导入项目是报错,这个是maven问题--Importing Maven projects' has encountered a problem ---------------------------- ...
- guxh的python笔记四:迭代
1,可迭代对象iterable,迭代器iterator,生成器generator 可迭代对象iterable: 实现__iter__方法的类.__iter__方法返回iterator或者generat ...
- 查看指定库对应GCC版本
strings /usr/lib/libstdc++.so.6 | grep GLIBCXX
- 将1~n个整数按照字典序进行排序
题意:给定一个整数n,给定一个整数k,将1~n个整数按字典顺序进行排序,返回排序后第k个元素. 题目链接:HDU6468 多组输入,T<=100,n<=1e6 分析:这个题和之前做的模拟出 ...
- 解决table宽度设置不起作用,由于内容问题被撑开 亲测 完美解决
1.在table 标签添加样式 table-layout: fixed; 必须设置width的值:<table style="table-layout: fixed"> ...
- python全栈开发笔记---------数据类型-----字典dict
字典 #dict #1.基本结构 info= { "k1" : "v1", #键值对 "k2" : "v2" } ### ...
- Forth嵌套定义的执行过程图示
body, table{font-family: 微软雅黑} table{border-collapse: collapse; border: solid gray; border-width: 2p ...
- MFC VC++ 根据文件名获取程序的Pid
环境:PC Win7 VS VC++ .MFC 使用,输入文件名即可获取程序的pid,进而可以对程序进行操作,比如关闭Porcess等. 头文件: #include <TlHelp32.h> ...
- 2017年3月28日15:59:16 终于明白spring这套鬼东西是怎么玩的了
先说重点,新东家公司的项目框架没有一样是我之前用过的,首先pm和我说的是一套微服务的概念,微服务不同于传统的功能模块实现,他将服务松散化分不到各个系统之间,这样也是实现分散压力的一种. 微服务是由sp ...