python用os修改文件名_python批量操作文件——改文件名,合并多文件内容

批量操作在办公中非常常见,比如对一个文件夹中的几百张图片重新命名,又比如将几十个txt文件合并到一个txt中,这些都是重复性的工作。在python盛行的时代,何不让几行代码替你做?省时省力效率高!

55e736d12f2eb938b4e8942a9d0ab433e7dd6fcb.jpeg?token=f4299d90eb6dcc0fa87c920a6bfe5c05&s=0913CE124B70608844410846020030B2高效率办公

今天主要用到python当中的os模块,来完成改文件名,合并多文件内容这两个实战。

1.访问操作系统os模块

os模块是用来访问操作系统相关功能的模块,主要包含目录及文件操作,执行命令和管理进程等功能。这里主要用到它目录及文件操作功能。

8326cffc1e178a82e5ac6274bb6b428bab77e8c4.jpeg?token=636eb064051777f6dd4abb934e61927b&s=1B80F40651744C390C6A36780300D078批量文件

主要用到的方法:

1.os.path.dirname(path) 该方法用来获得path这个路径的目录

比如:os.path.dirname("C:\\Users\\Administrator\\Desktop"),获得的目录就是Desktop所在的目录C:\Users\Administrator。

2.os.path.split(path) 该方法将文件名分为名字和后缀

比如os.path.split("1.txt"), 将1.txt分为名字1和后缀.txt。

3.os.path.join(path1[, path2[,...]]) 拼接多个路径

比如os.path.join("C:\\Users\\Administrator\\Desktop","data"),返回的路径为

C:\Users\Administrator\Desktop\data。

4.os.listdir(dirname) 返回指定文件夹dirname下包含的文件或文件夹的名字列表。

4a36acaf2edda3cc7e17738046810807203f9209.jpeg?token=38982c5811af9f2a3e4b74298f519d4e&s=2AAC7A22BA9951E10A7465D30100A0B1重要方法

2.批量对文件重命名

这里对某个文件夹下大量的图片重新命名。

首先用os.path.dirname获得该文件的路径(绝对路径),让程序知道它要处理的文件在哪里放着。用os.listdir方法得到文件夹里面的文件。对于该文件夹里面的每个文件,用os.path.split方法提取后缀名,判断是不是要处理的图片类型。如果是要处理的图片类型,用os.path.join方法拼接新名字。最后用os.rename方法将步骤4的新名字替换掉旧名字。整体的代码看图

9f2f070828381f3039276a7eee697d0e6f06f09e.jpeg?token=e5a22c33240b9be3d859aad15945549f&s=4918CD1A19D84DCA5E74A1DB000080B1全部代码

不到十五行代码就可以完成对大量文件的重命名!当然你也可以对其它类型的文件命名,只需将suffix == '.PNG'中的'.PNG'换成对应类型即可!

3.批量合并文件

主要实现对多个csv文件合并,然后对合并后的数据按指定字段排序后整理到一个csv中。

首先用os.listdir方法获得目录下所有的文件,并声明一个pandas库的DataFrame对象。将文件后缀是.csv的文件路径添加到一个列表中。遍历列表中的每个csv文件,读取并追加存放到中DataFrame中。对DataFrame里面的数据按照某一字段升序排序。将结果输出到csv中。

060828381f30e9242249a12c04605f001c95f7a8.jpeg?token=8ba796ed144fb4128980f7ebac16c9cf&s=C112ED3ADF64480118C9EDDE0200D0B1步骤1,2

7af40ad162d9f2d33c2e2868f884bb156227ccec.jpeg?token=0b317f7d6ee3c031737b4cc312076e04&s=0190ED3287C44D411EF445DE0200D0B1步骤3,4,5

该例子是将三个字段为num,name,age的csv文件进行了合并,并根据num字段对数据进行了升序排列,动态图展示效果。

0218af1ccdb425792c3b0046b56d54586104.gif效果展示

可以看到当运行程序后,会出现1.csv里面包含a.csv,b.csv,c.csv的所有数据,并已经根据num排好序。

要是分享的功能小伙伴觉得有用,可以点赞收藏一下,以后说不准就用到了!

78310a55b319ebc45b20d444ca4efefa1f171605.jpeg?token=7b317cbc318fc06a248244c52b0990f1&s=4AAC3C62518BC9E91C5591DE000080B1谢谢大家

另外可以关注我,会分享好多办公中省时省力简单的代码哦!欢迎留言讨论。转载请注明出处(百家号:戏说编程)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值