python获取文件后缀名及批量更新目录下文件的后缀名实例

获取文件后缀名

 代码如下 复制代码

#!/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
楼上出来的后缀会是g.h
而我的是h

实例

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()

实例

#批量重命名目录中的文件后缀

 代码如下 复制代码
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

时间: 2024-12-26 17:45:42

python获取文件后缀名及批量更新目录下文件的后缀名实例的相关文章

批量转换目录下文件编码的shell脚本代码_linux shell

一例批量转换目录下文件编码的shell脚本代码. 需求描述:由于从window转linux过来,很多原来win下的gbk文件需要转换成utf8. 以下脚本仅判断非utf8文件转换成utf8文件,并且默认非utf8文件为gbk,如果文件类型不一致需要修改. 例子: 复制代码 代码如下: #!/bin/bash# File Name: iconv.sh# Author: wanggy# site: www.jb51.net#show_file(){    for file in `ls $1`   

Python实现批量更换指定目录下文件扩展名的方法_python

本文实例讲述了Python实现批量更换指定目录下文件扩展名的方法.分享给大家供大家参考,具体如下: #encoding=utf-8 #author: walker #date: 2013-12-06 #function: 深度遍历指定目录,更换指定扩展名 import os import os.path #读入指定目录并转换为绝对路径 rootdir = raw_input('root dir:\n') rootdir = os.path.abspath(rootdir) print('abso

python对指定目录下文件进行批量重命名的方法_python

本文实例讲述了python对指定目录下文件进行批量重命名的方法.分享给大家供大家参考.具体如下: 这段python代码可对c:\temp目录下的所有文件名为"scroll_1"文件替换为"scroll_00" import os path = 'c:\\temp' for file in os.listdir(path): if os.path.isfile(os.path.join(path,file))==True: newname = file.replace

获取源代码管理上的文件,不小心错误更新了本地文件,如何恢复??

问题描述 获取源代码管理上的文件,不小心错误更新了本地文件,如何恢复??急!急!急!望各位大侠救救小女啊! 解决方案 解决方案二:重写解决方案三:应该挂了,关注高手解决方案四:得不到之前的版本?解决方案五:要是你用的的是VSS的话那就没救了,只有重写要是你用的是STARTEAM的话那就迁出上一个的修改记录就好了啊解决方案六:我用的Vss,之前的版本缺少的东西太多了,哪位高手有办法帮帮忙啊,重写好麻烦的解决方案七:当然有办法,你们应该不只有你一个人用vss吧,你让你同事把他本地的签出(签出时注意要

python连接远程ftp服务器并列出目录下文件的方法_python

本文实例讲述了python连接远程ftp服务器并列出目录下文件的方法.分享给大家供大家参考.具体如下: 这段python代码用到了pysftp模块,使用sftp协议,对数据进行加密传输 import pysftp srv = pysftp.Connection(host="your_FTP_server", username="your_username",password="your_password") # Get the directory

python实现搜索指定目录下文件及文件内搜索指定关键词的方法

本文实例讲述了python实现搜索指定目录下文件及文件内搜索指定关键词的方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 #!/usr/bin/pyt

python连接远程ftp服务器并列出目录下文件的方法

  本文实例讲述了python连接远程ftp服务器并列出目录下文件的方法.分享给大家供大家参考.具体如下: 这段python代码用到了pysftp模块,使用sftp协议,对数据进行加密传输   1 2 3 4 5 6 7 8 9 10 import pysftp srv = pysftp.Connection(host="your_FTP_server", username="your_username",password="your_password&q

web service-C#做的webservice获取目录下文件,失败

问题描述 C#做的webservice获取目录下文件,失败 写了段获取目录下的文件信息,结果调用时,报错public Int32 GetserverImages(string imgFileKind ref Fileinfos[] strFileinfos ref string strMsg ref Int32 irtn) { List str_fileinfos = new List(strFileinfos); string path = ConfigurationManager.Conne

php计算指定目录下文件占用空间的方法

 这篇文章主要介绍了php计算指定目录下文件占用空间的方法,实例分析了php操作目录及文件的技巧,具有一定参考借鉴价值,需要的朋友可以参考下     本文实例讲述了php计算指定目录下文件占用空间的方法.分享给大家供大家参考.具体分析如下: php中可以通过 RecursiveDirectoryIterator 扩展 DirectoryIterator的getChildren() 方法提供访问子目录中的每一个元素的方法,下面的代码通过遍历访问目录下的所有文件,获取他们暂用的空间. ? 1 2 3