# -*- coding: utf-8 -*-
import os
import sys
reload(sys)
sys.setdefaultencoding('utf8')
#复制文件到指定路径
def copyFile(sourceDir, targetDir):
try:
open(targetDir, "wb").write(open(sourceDir, "rb").read())
except:
print "Error: copyFile(sourceDir, targetDir)"
#修改文件编码
def convert( filename, in_enc = "GBK", out_enc="UTF8" ):
try:
print "convert " + filename,
content = open(filename).read()
new_content = content.decode(in_enc).encode(out_enc)
open("convert"+filename, 'w').write(new_content)
print " done"
except:
print " error"
#获取新的文件名
def getNewName(name):
namelist = name.split(".")
#如果文件名是数字,加1000,否则不做处理
try:
newName = int(namelist[0])
newName += 1000
except:
newName = namelist[0]
newStrName = str(newName)
namelist[0] = newStrName
newStrName = ".".join(namelist)
return newStrName
#修改文件名,保存到指定目录
def changeName(sourcePath, targerPath):
#转换文件编码格式,读取中文路径
targerPath = unicode(targerPath, "utf8")
sourcePath = unicode(sourcePath, "utf8")
#获取源路径下的所有文件名
filenames=os.listdir(sourcePath)
for a in xrange(len(filenames)):
newStrName = getNewName(filenames[a])
sourceDir = os.path.join(sourcePath, filenames[a])
targetDir = os.path.join(targerPath, newStrName)
copyFile(sourceDir, targetDir)
def test():
sourcePath = "E:/../test"
targerPath = "E:/../test1"
changeName(sourcePath, targerPath)
test()
raw_input("Press Enter Exit")
python 批量修改文件名
最新推荐文章于 2024-09-22 19:11:51 发布
这段Python代码演示了如何批量修改文件名,通过增加1000来避免重名,并将文件从GBK编码转换为UTF8编码。首先定义了复制文件到指定路径的函数,然后是转换文件编码的函数,接着获取新的文件名,最后是修改文件名并保存到指定目录的函数。在`test`函数中,指定了源路径和目标路径,调用相关函数进行操作。程序执行完毕后会提示按回车退出。
摘要由CSDN通过智能技术生成