python文件操作之批量修改文件后缀名的方法

1、引言

需要把.dat 格式 转化成 .txt格式

2、实现

##python批量更换后缀名
import os
# 列出当前目录下所有的文件
files = os.listdir('.')
#print('files',files)
for filename in files:
  portion = os.path.splitext(filename)
  # 如果后缀是.dat
  if portion[1] == ".dat":
    # 重新组合文件名和后缀名
    newname = portion[0] + ".txt"
    os.rename(filename,newname)

这里有一个缺点,就是,需要把程序放在与修改的文件同一目录下,因为filenames只是获取了程序目录的文件名。

自己本来想修改一下程序,实现,程序不在文件目录下也能进行修改操作,可是,还没有成功,思路如下:
##python批量更换后缀名

import os
import sys
sys.path.append(r"G:\traindataDAT\ ")
#print(sys.path)
# 列出当前目录下所有的文件
files = os.listdir(r"G:\traindataDAT")
#files = os.listdir('.')
#print('files',files)
for filename in files:
  portion = os.path.splitext(filename)
  # 如果后缀是.txt
  if portion[1] == ".dat":
    # 重新组合文件名和后缀名
    newname = portion[0] + ".txt"
    os.rename(filename,newname)

总感觉程序是有问题,就是不知道该如何修改,难道是在filename变成完整的路径吗?

根据这个思路,重新写了一个可以实现程序和文件不在同一目录的操作:

##python批量更换后缀名
import os
import sys
path0=r"G:\testdataTXT"
path1=r"G:\testdataTXT"+'\\'
sys.path.append(path1)
# print(sys.path)
# 列出当前目录下所有的文件
files = os.listdir(path0)
# files = os.listdir('.')
print('files',files)
for filename in files:
  portion = os.path.splitext(filename)
  # 如果后缀是.txt
  if portion[1] == ".dat":
    # 重新组合文件名和后缀名
    newname = portion[0] + ".txt"
    filenamedir=path1 +filename
    newnamedir=path1+newname
    # os.rename(filename,newname)
    os.rename(filenamedir,newnamedir)

总结

以上所述是小编给大家介绍的python文件操作之批量修改文件后缀名的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • Python文件操作之合并文本文件内容示例代码

    前言 相信大家初入某个项目,一般都要看代码.有时候,想把代码文件打印下来看,不过一般代码文件数量都在两位数或更多,逐一打开.打印,确实太耗费精力了,此外,也会出现某个代码文件打印到纸上只占了一两行的情况,很浪费纸.如果可以合并到一个文本文件里面上面这些问题就解决. 目前一个用的比较多的功能:将多个小文件的内容合并在一个统一的文件中,对原始文件重命名标记其已被处理过. 之前使用其他脚本写的,尝试用python写了一下,顺便熟悉一下python的文件处理命令. 原始文件 经过处理之后 最后还有一个蛋

  • 详解Python中的文件操作

    1.能调用方法的一定是对象,比如数值.字符串.列表.元组.字典,甚至文件也是对象,Python中一切皆为对象. str1 = 'hello' str2 = 'world' str3 = ' '.join([str1,str2]) print(str3) 2.三种基本的文件操作模式:r(only-read).w(only-write).a(append) 对文件进行操作的流程: 第一,建立文件对象. 第二,调用文件方法进行操作. 第三,不要忘了关闭文件.(文件不关闭的情况下,内容会放在缓存,虽然P

  • Python文件操作,open读写文件,追加文本内容实例

    1.open使用open打开文件后一定要记得调用文件对象的close()方法.比如可以用try/finally语句来确保最后能关闭文件. file_object = open('thefile.txt') try: all_the_text = file_object.read( ) finally: file_object.close( ) 注:不能把open语句放在try块里,因为当打开文件出现异常时,文件对象file_object无法执行close()方法. 2.读文件读文本文件input

  • 使用Python对Csv文件操作实例代码

    csv是Comma-Separated Values的缩写,是用文本文件形式储存的表格数据,比如如下的表格: 就可以存储为csv文件,文件内容是: No.,Name,Age,Score 1,mayi,18,99 2,jack,21,89 3,tom,25,95 4,rain,19,80 假设上述csv文件保存为"test.csv" 1.读文件 如何用Python像操作Excel一样提取其中的一列,即一个字段,利用Python自带的csv模块,有两种方法可以实现: 第一种方法使用read

  • Python 文件操作的详解及实例

    Python 文件操作的详解及实例 一.文件操作 1.对文件操作流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 现有文件如下: 昨夜寒蛩不住鸣. 惊回千里梦,已三更. 起来独自绕阶行. 人悄悄,帘外月胧明. 白首为功名,旧山松竹老,阻归程. 欲将心事付瑶琴. 知音少,弦断有谁听. f = open('小重山') #打开文件 data=f.read()#获取文件内容 f.close() #关闭文件 注意:if in the win,hello文件是utf8保存的,打

  • python的文件操作方法汇总

    文件的读操作 示例: print("->文件句柄的获取,读操作:") f = open('无题','r',encoding='utf8') d = f.read() f.close() print(d) print('->例二:') f = open('无题','r',encoding='utf8') e = f.read(9) f.close() print(e) #python3中,文件中一个中英文都占位1 运行结果: 复制代码 ->文件句柄的获取,读操作: 昨夜

  • 浅谈PYTHON 关于文件的操作

    1.打开文件: f=open(r'E:\PythonProjects\test7\a.txt',mode='rt',encoding='utf-8') 以上三个单引号内分别表示:要打开的文件的路径,mode为文件打开方式具体介绍在下文,encoding为文件的字符编码,一般默认为utf-8 2.读写文件: data=f.read()  # 读文件 f.write()    # 写文件 3.关闭文件: f.close() 4.为了简便,一般采用上下文的方法进行文件操作,可不用关闭文件 with o

  • python文件操作之批量修改文件后缀名的方法

    1.引言 需要把.dat 格式 转化成 .txt格式 2.实现 ##python批量更换后缀名 import os # 列出当前目录下所有的文件 files = os.listdir('.') #print('files',files) for filename in files: portion = os.path.splitext(filename) # 如果后缀是.dat if portion[1] == ".dat": # 重新组合文件名和后缀名 newname = porti

  • python 自动化办公之批量修改文件名实操

    目录 1. 程序背景 2. 程序要求 3. 解决思路 4. 完整代码 5. 运行结果 6. 总结 1. 程序背景 之前做文件批量移动的时候不小心多加了一个pdf后缀,但问题不大,几行代码就可以搞定~ 2. 程序要求 将以下目录中文件夹中的有问题的文件全部重命名为单个.pdf结尾的文件 3. 解决思路 需要用到 os.re 和 shutil 三个库,均为系统自带,无需安装 使用 os 库得到年份的文件夹名,以及年份文件夹中的文件名 使用正则表达式 re 将“.pdf.pdf”全部替换为“.pdf”

  • Python实现的批量修改文件后缀名操作示例

    本文实例讲述了Python实现的批量修改文件后缀名操作.分享给大家供大家参考,具体如下: windows和linux下都支持该程序 以下程序可以进行批量修改文件后缀名: #!/usr/bin/env python #coding:utf8 #! python3 #批量修改一个文件下的文件后缀 import sys import os def Rename(): #Path = "F:\\test\\" # windows下的文件目录 Path = input("请输入你需要操

  • 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:]           

  • PHP实现批量修改文件后缀名的方法

    本文实例讲述了PHP实现批量修改文件后缀名的方法.分享给大家供大家参考.具体如下: /** * 批量修改文件后缀名 * @param $path 文件夹路径 * @param $sext 原文件后缀名 ($sext=all说明整个目录的所有文件) * @param $dext 目的文件后缀名 * @return void */ function foreachDir($path,$sext,$dext){ $handle=opendir($path); if($handle){ while (f

  • python批量修改文件夹及其子文件夹下的文件内容

    前言:前几天我看一位同学要修改很多文件中的数据,该文件数据很规律,一行只有三个数,需要将每行最后一个数字改为负数,但文件有上千个,分布在每个文件夹下面以及它的多级子文件夹下,看他用excel手动改数据改的很痛苦,我突然想到用Python访问和操作文件,修改文件内容都很方便,于是在对Python不熟悉的情况下花了大半天写了下面的程序. 大概思路:先获取文件夹下所有文件名存在列表中,然后循环遍历访问文件内容,修改后写入新文件,考虑到还有子文件夹,这里用了递归的方法访问子文件夹的文件,最后修改完再把原

  • python批量修改文件编码格式的方法

    本文实例为大家分享了python批量修改文件编码格式的具体代码,供大家参考,具体内容如下 使用说明: 1.使用工具:Python2.7.6+chardet2.3.0,chardet2.3.0下载地址:点击这里 2.环境配置:Python安装+配置环境变量,chardet解压放在Python安装目录\Lib\site-packages下 举例:批量修改当前路径下所有.cpp文件的编码格式为UTF-8,代码如下: python: import os import sys import codecs

  • Python实现自动批量修改文件名称

    本文介绍基于Python语言,按照一定命名规则批量修改多个文件的文件名的方法. 已知现有一个文件夹,其中包括班级所有同学上交的作业文件,每人一份:所有作业文件命名格式统一,都是地信1701_姓名_学习心得格式. 现需要对每一位同学的作业文件加以改名,有很多种需求. 第一种需求,将每一位同学作业文件名中原本是姓名的部分,都修改为学号.即原本的地信1701_姓名_学习心得修改为地信1701_学号_学习心得(每一位同学有且仅有一个学号,且相互不重复,且姓名与学号的对应关系我们是已知的),如下图所示.

  • python批量修改图片后缀的方法(png到jpg)

    本人最近在利用faster_rcnn训练kitti数据集,其中需要将kitti数据集转为voc数据集,但是发现: kitti图片是png格式 voc2007是jpg格式 其中有7000多张图片需要批量转换,在网上发现一些代码,但跑起来有错误,于是本人稍作修改: import os import string dirName = "D:your path\\" #最后要加双斜杠,不然会报错 li=os.listdir(dirName) for filename in li: newnam

  • javascript批量修改文件编码格式的方法

    本文实例讲述了javascript批量修改文件编码格式的方法.分享给大家供大家参考.具体如下: 摘要: 最近在制作手册的时候遇到了一个问题'文档乱码',查看文件之后发现文件编码不对,总共100多个文件,如果用编辑器另存为utf8,那就悲催了.所以自己就写了个程序,批量修改文件编码格式. 代码: 复制代码 代码如下: /**  * 修改文件编码格式,例如:GBK转UTF8  * 支持多级目录  * @param {String} [root_path] [需要进行转码的文件路径]  * @para

随机推荐