温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

python如何实现快速文件格式批量转换

发布时间:2020-10-27 22:40:26 来源:亿速云 阅读:274 作者:Leah 栏目:开发技术

python如何实现快速文件格式批量转换?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

用python实现文件夹下的成批文件格式转换

我们对于文件转换的需求很大,甚至于对于图片的格式,JPG和PNG格式在肉眼看来都没什么差别,但是对于计算机而言,它有时候就只接受这些肉眼看起来差不多的格式的其中一种。

环境

windows10
python3.7+pycharm

创建目录

1.在编程前,创建一个文件夹,并放入你想用的文件(非目录),这些文件的格式不合适。
例如,我在桌面创建了名为"in_path"的文件夹,在里面放进了.pgm和.png格式的文件,想让他们都转化成.jpg格式。
2.同时新建一个batch_change.py文件。

python如何实现快速文件格式批量转换

编写程序

导入python的模块os,PIL,glob.

// 导入PIL,os,glob
from PIL import Image
import os,glob

创建输出目录

// 创建输出文件夹
def batch_change(in_path,out_path): 
  if not os.path.exists(out_path):
    print(out_path,'is not existed.')
    os.mkdir(out_path)
  if not os.path.exists(in_path):
    print(in_path,'is not existed.')
    return -1

浏览输入目录

// 浏览遍历输入文件夹
  for files in glob.glob(in_path+'/*'):
    filepath,filename=os.path.split(files)
    out_file = filename[0:9]+'.jpg' #转换成最终格式为.jpg,可以在这里改为.png
    im = Image.open(files)
    new_path=os.path.join(out_path,out_file)
    print(count,',',new_path)
    count = count+1
    im.save(os.path.join(out_path,out_file))

修改文件路径

// 浏览遍历输入文件夹
  if __name__=='__main__':
  batch_change(r'C:\Users\80610\Desktop\in_path',r'C:\Users\80610\Desktop\out_path') 
  #你想转化文件所在文件夹输入和输出的路径

运行结果

无论是pgm,png,他们们都转化成.jpg格式,并且保存在out_path文件夹下

python如何实现快速文件格式批量转换

python如何实现快速文件格式批量转换

完整代码

#encoding = utf-8
#author = itinerary,hui

from PIL import Image
import os,glob

def batch_change(in_path,out_path): #参数:输入与输出文件夹路径
  if not os.path.exists(out_path):
    print(out_path,'is not existed.')
    #创建输出文件夹
    os.mkdir(out_path)
  if not os.path.exists(in_path):
    print(in_path,'is not existed.')
    return -1
  count = 0
  for files in glob.glob(in_path+'/*'):
    filepath,filename=os.path.split(files)
    out_file = filename[0:9]+'.png' #转换成最终格式为png
    im = Image.open(files)
    new_path=os.path.join(out_path,out_file)
    print(count,',',new_path)
    count = count+1
    im.save(os.path.join(out_path,out_file))

if __name__=='__main__':
  batch_change(r'C:\Users\80610\Desktop\in_path',r'C:\Users\80610\Desktop\out_path') #你想转化文件所在文件夹输入和输出的路近

关于python如何实现快速文件格式批量转换问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI