python获取文件后缀名及批量更新目录下文件后缀名的方法
作者:shichen2014 发布时间:2021-02-19 20:51:14
标签:python,文件,后缀
本文实例讲述了python获取文件后缀名及批量更新目录下文件后缀名的方法。分享给大家供大家参考。具体实现方法如下:
1. 获取文件后缀名:
#!/usr/bin/python
import os
dict = {}
for d, fd, fl in os.walk('/home/ahda/Program/'):
for f in fl:
sufix = os.path.splitext(f)[1][1:]
if dict.has_key(sufix):
dict[sufix] += 1
else:
dict[sufix] = 1
for item in dict.items():
print "%s : %s" % item
这里的关键是os.path.splitext()
如abc/ef.g.h ,这里获取到的是h
2. python查找遍历指定文件路径下指定后缀名的文件实例:
import os
import sys
import os.path
for dirpath, dirnames, filenames in os.walk(startdir):
for filename in filenames:
if os.path.splitext(filename)[1] == '.txt':
filepath = os.path.join(dirpath, filename)
#print("file:" + filepath)
input_file = open(filepath)
text = input_file.read()
input_file.close()
output_file = open( filepath, 'w')
output_file.write(text)
output_file.close()
3. 批量重命名目录中的文件后缀实例:
import os
def swap_extensions(dir, before, after):
if before[:1] != '.': #如果参数中的后缀名没有'.'则加上
before = '.' + before
thelen = -len(before)
if after[:1] != '.':
after = '.' + after
for path, subdir, files in os.walk(dir):
for oldfile in files:
if oldfile[thelen:] == before:
oldfile = os.path.join(path, oldfile)
newfile = oldfile[:thelen] + after
os.rename(oldfile, newfile)
print oldfile +' changed to ' + newfile
if __name__ == '__main__':
import sys
if len(sys.argv) != 4:
print 'Usage:swap_extension.py rootdir before after'
sys.exit(1)
swap_extensions(sys.argv[1], sys.argv[2], sys.argv[3])
例子:将e:/py/test目录下.php结尾的文件重命名为.py
E:py>python_cook e:/py/test .php .py
e:/py/testtest.php changed to e:/py/testtest.py
e:/py/test1.php changed to e:/py/test1.py
e:/py/test2.php changed to e:/py/test2.py
希望本文所述对大家的Python程序设计有所帮助。


猜你喜欢
- 完整系列教程详见:http://golang.iswbm.com在 Golang 中用于执行命令的库是 os/exec,exec.Comma
- 这篇文章主要介绍了IOS苹果AppStore内购付款的服务器端php验证方法(使用thinkphp)。AppStore内购在app中支付的过
- 问题:一个文件夹c下的模块test要引用另一个包b里面模块test2的函数add,如下图解决办法:经过前辈oyljerry等的指点迷津,要在
- 一般情况下,在 golang 中执行一些命令如 git clone,则可以使用 exec.Command 函数func RunCommand
- 二分查找算法:简单的说,就是将一个数组先排序好,比如按照从小到大的顺序排列好,当给定一个数据,比如target,查找target在数组中的位
- 正在看的ORACLE教程是:Oracle不同数据库间对比分析脚本。Oracle数据库开发应用中经常对数据库管理员有这样的需求,对比两个不同实
- 前言原子操作这是Java多线程编程的老生常谈了。所谓原子操作是指不会被线程调度机制打断的操作;这种操作一旦开始,就一直运行到结束,中间不会有
- 简介:本文主要介绍在linux系统下,如何配置mysql支持IPV6的连接。环境要求:1、debian7.5操作系统虚拟机2、mysql5.
- subplot函数介绍matplotlib下, 一个 Figure 对象可以包含多个子图(Axes), 可以使用 subplot() 快速绘
- xpath表达式1. xpath语法<bookstore><book> <title lang="e
- 介绍最近在研究目标检测方面的小东西,需要到对桌面进行实时捕捉画面,获取画面后再检测,达到实时桌面目标检测的目的,所以写了一段小代码来实现该功
- 好了,看看我们的代码吧:upload.htm' 上传页面<html> <body>&nb
- 昨天网上一网友说,由于他同事误将“max server memory”设置为10M后,SQL Server数据库登录不了,当时我简单测试了一
- 学了这么长时间的Pygame,一直想写个游戏实战一下。看起来很简单的游戏,写其来怎么这么难。最初想写个俄罗斯方块,想了很长时间如何实现,想来
- #@project = facepalm#@file = main#@author = Maoliang Ran#@create_time
- 我们有理由相信采用新的内核版本(2.2.16-3 smp)也应该有性能的提升: OS2: Newer minor version kerne
- “模板化”——这也许是视觉设计师通常最不愿意听到的概念,先入为主的会产生“批量生产”、“体力活儿”、“限制思维”等概念,总之都比较负面。但为
- 对于小数据量,xml文件在检索更新上于ACCESS有很多优势。我曾经测试过不用数据库,把网站的会员信息,商品数据信息,交易信息,网站定制信息
- python处理json文本文件主要是以下四个函数:函数作用json.dumps对数据进行编码,将python中的字典 转换为 字符串jso
- 如下所示:from osgeo import gdalimport numpy as npdef read_tiff(inpath): &n