10.1.1 给文件加前缀(不含sub)
如何批量给一个文件夹下面的文件(不含子文件夹)统一 加前缀?
作用:用os.listdir方法,只修改父文件夹下(不包括子文件夹)的某种类型文件名,子文件夹里的同种类型文件不受影响。
#效果:对选定文件夹下面的所有文件但不包括它的子文件夹 在旧名字的基础上加一个前缀
#本质: 用rename函数 old_name---->mark+old_name
import os,sys #导入模块
def add_prefix_str_i_files(): #定义函数名称 该函数用于加前缀 'str'+i+'_'
#只需要修改mark里面的str内容,就改变输出
old_names = os.listdir( path ) # os.listdir() 取该路径下所有文件和文件夹 名字,生成一个文件和文件夹名列表
a = 1
for old_name in old_names: #遍历文件和文件夹名列表
mark = 'chapter' + str(a) + '_'
if old_name!= sys.argv[0]: # 确保本代码文件名不和要改的文件同名,防止脚本文件放在path路径下时,被一起重命名
if old_name.endswith('.txt'): #判断文件名是否以.txt后缀结尾,返回是真则继续运行
os.rename(os.path.join(path,old_name),os.path.join(path,mark+old_name)) #重命名文件
print (old_name,"has been renamed successfully! New name is: ",mark+old_name) #输出提示
a+=1
if __name__ == '__main__': #控制程序 只有当作为脚本执行时,下面的代码才会有效
path = r'C:\Nora\04_files\code' #运行程序前,记得修改主文件夹路径!
add_prefix_str_i_files() #调用函数
10.1.2 给文件加前缀(含sub)
如何批量给一个文件夹下面的文件(含子文件夹)统一 加前缀?
作用:用os.walk方法,将父文件夹所有文件(包括子文件夹内)加上前缀。
#效果:对选定文件夹下面的所有文件和它的子文件夹 在旧名字的基础上加一个前缀
import os,sys #导入模块
def add_prefix_files(): #定义函数名称
mark = 'prefix_' #准备添加的前缀内容
for foldName, subfolders, filenames in os.walk(path): #用os.walk方法取得path路径下的文件夹路径,子文件夹名,所有文件名; 这一步决定了,此次改名对文件夹下面的包括子文件夹里的所有文件有效
for filename in filenames: #遍历列表下的子文件夹名
if filename!= sys.argv[0]: #代码本身文件路径,防止脚本文件放在path路径下时,被一起重命名
if filename.endswith('.txt'): #当文件名以.txt后缀结尾时
os.rename(os.path.join(foldName,filename),os.path.join(foldName,mark+filename)) #重命名文件
print (filename,"has been renamed successfully! New name is: ",mark+filename) #输出提示
if __name__ == '__main__': #控制程序 只有当作为脚本执行时,下面的代码才会有效
path = r'C:\Nora\04_files\code' #运行程序前,记得修改主文件夹路径!
add_prefix_files() #调用定义的函数,注意名称与定义的函数名一致
10.1.3 给文件加后缀(不含sub)
如何批量给一个文件夹(不含子文件夹)下面的文件统一 加后缀?
采用替换的方式来添加后缀。
#this is for rename all files (subfile included )by add suffix
#本质: 用replace函数替换后缀
import os,sys #导入模块
def rename_files(): #定义函数名称
old_names = os.listdir( path ) #取路径下的文件名,生成列表
for old_name in old_names: #遍历列表下的文件名
if old_name!= sys.argv[0]: #代码本身文件路径,防止脚本文件放在path路径下时,被一起重命名
if old_name.endswith('.txt'): #当文件名以.txt后缀结尾时
new_name=old_name.replace('.txt','_test.txt') #将原来名字里的‘.txt’替换为‘-test.txt’,相当于加个后缀了
os.rename(os.path.join(path,old_name),os.path.join(path,new_name)) #重命名文件
print (old_name,"has been renamed successfully! New name is: ",new_name) #输出提示
if __name__ == '__main__':
path = r'C:\Nora\04_files\code' #运行程序前,记得修改主文件夹路径!
rename_files() #调用定义的函数,注意名称与定义的函数名一致
10.1.4 给文件加后缀(含sub)
如何批量给一个文件夹(含子文件夹)下面的文件统一 加后缀?
采用替换的方式来添加后缀。
#效果:对选定文件夹下面的所有文件和它的子文件夹 在旧名字的基础上加一个后缀
import os,sys #导入模块
def rename_files(): #定义函数名称
for foldName, subfolders, filenames in os.walk(path): #用os.walk方法取得path路径下的文件夹路径,子文件夹名,所有文件名 ;这一步决定了,此次改名对文件夹下面的包括子文件夹里的所有文件有效
for filename in filenames: #遍历列表下的子文件夹名
if filename!= sys.argv[0]: #代码本身文件路径,防止脚本文件放在path路径下时,被一起重命名
if filename.endswith('.txt'): #当文件名以.txt后缀结尾时
new_name=filename.replace('.txt','_suffix.txt') #将原来名字里的‘.txt’替换为‘-test.txt’,相当于加个后缀了
os.rename(os.path.join(foldName,filename),os.path.join(foldName,new_name)) #重命名文件
print (filename,"has been renamed successfully! New name is: ",new_name) #输出提示
if __name__ == '__main__': #控制程序 只有当作为脚本执行时,下面的代码才会有效
path = r'C:\Nora\04_files\code' #运行程序前,记得修改主文件夹路径!
rename_files() #调用定义的函数,注意名称与定义的函数名一致
—————————-
版权声明:本文为m0_51963375原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。