python批处理修改文件的名字

【十一月的萧邦】

蛋蛋说我写的博客叫做情感博客,所以现在不忍心,出来水一篇,毕竟为了庆祝十一月的到来。
十一月有周杰伦的新专辑,当时我们买了藏在书包里,开运动会,一本漫画,一副耳机,躺在绿油油的草地上,哎,小姐,请问有没有卖半岛铁盒,走廊灯关上,恩恩听不清,我走到窗边书包放。。。。
感觉这些就是整个世界。

这个其实叫做写在前面的话,因为现在是十一月的第一天,小时候超级喜欢十一月,因为每个运动会都会开在十一月,然后昆明的十一月的气候超级好,天空很蓝,空气微微冷。每次开运动会都可以偷偷跑出学校门口买好吃的。小伙伴会把自己家的狗狗带到学校,spirit我还记得她的狗狗叫做这个名字。

小时候我可是运动健将,因为没有人的仰卧起坐能够比过我,跳远也很厉害,然后每次都可以拿奖。但是拿奖的时候总是很尴尬,因为我的名字很少见,主持人喜欢把我的名字分开念,生气。我还记得杨龙当时笑的嘴都快裂开了。大家全部笑的趴在地上,生气!!!


哈哈,好的开始写技术部分,今天的内容叫做批处理修改文件的名字。当然我们是不可能讲这么简单的东西的,只是通过这个简单的东西我们讲怎么一点点的改进自己的代码,实现代码的高效复用,也就是传说中的造轮子。把自己的代码改造的更加的完备。更加的实用,写一些值得收藏的代码。


1.运用场景

假设我们有一批文件经过某些加工之后名字变了,但是我们想按照自己的意愿改名字,在Python中给我们提供了一个强大的轮子,叫做os.rename(oldname,newname)
通过调用这个函数呢,我们可以轻易的实现改名字。

为了更加形象的说明我们的问题,我们来看几张图片吧。
这里写图片描述

比如说在某个文件夹的下面我们存在着一些文件,就像上面这张图片一样,在-前面的是我们文件本来的名字,经过了某些处理之后我们的文件变成了上面的这个样子,我们只想保留文件原来的名字,就像下面这张图一样。这个时候我们就需要做一个批处理,来修改我们这些文件的名字。

这里写图片描述

使得它们变成上面的这个样子。


2.实现思路

根据需要的需求,我们可以设计出我们的实现思路。
1.我们发现我们只要“-”这个符号前面的文件名,之后在加上文件的文件类型,后缀,那么就是我们文件最终的名字。
2.我们知道文件的名字其实是字符串,在字符串中我们可以根据split() 这个函数来进行分割,我们根据split("-") 这个函数得到的是一个List,我们只需要去List的第一个元素就是我们文件名,之后加上后缀,然后使用我们Python自带的函数,我们就可以实现文件名的重新命名。

这里写图片描述

3.其实我之前写过一个类似的功能,就是从APK中提取出我们的classes.dex文件和我们的so文件

那个难度比这个大一点。我们用到了zip文件的读取和写入,当然还有其他的实现思路。


3.代码实现

讲完了我们的运用场景,实现思路,是不是觉得我们的代码实现会比较简单呢。OK,那么我们就来写一个简单的代码。

我们先来实现一下一个比较简单的版本:
这里写图片描述


代码复制版本:

#!/usr/bin/env python
# coding=utf-8
# @author    :  Chicho
# @version   :  1.0
# @date      :  2016-11-1 11:00
# @ function :  Batching rename the name of file

# @running   :  python renameGator.py

import os 
#path储藏了我们需要处理文件的路径,假设我的路径就叫这个
path = "/home/chicho/test/Out/"

# 之后我们或许文件列表使用的是listdir()这个函数,我们需要
#引入 os --->import os 才能使用 
# 下面的图形为我们展示了这个函数的运行结果
fileList=os.listdir(path)

for f in fileList:

    filePath = os.path.join(path,f)
# 根据紧接着的图片我们可以发现,里面含有文件夹,还有文件,我们
#需要处理的只是文件,不是文件夹
#所以我们需要isfile来判断一下
    if os.path.isfile(filePath):
        portion = f.split("-")[0]# 获取文件名的前半部分
    #加上后缀
        newName = portion + ".xml"
    <
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值