python 第一个程序 批量修改文件名

helloworld 算第零个程序,哈哈哈哈

第一次写python程序 新奇的地方

文件路径要用/表示   D:/test/    因为 \ 是转义字符   只能换成  /  或  \\

print函数一样  print(XXXXXXXX)

输入函数 input ('请输入一些字') 返回一个字符串 所以应该这样用 a = input ('请输入一些字')

各种功能需要导入模块 import  例如本程序使用了  import os 来操作 文件

获取当前程序所在目录绝对路径 path = os.getcwd()  

获取当前目录文件列表 fileList = os.listdir(path)

缩进不只是为了美观,还用来表示for  if 的开始结束

例如

for :

     循环内容1

     循环内容2

不循环内容

无理由缩进被认为是错误 例如:

    import os   #哈哈前面加个缩进就非法了

 

程序开始--------------------------------------------------------------------------------------------

import os
#获取本文件所在路径
path = os.getcwd()
print(path)

#获取扩展名
xxx = input('请输入扩展名')
print(xxx)

#获取文件名
filename = input('请输入批量后的文件名')
print(filename)

#获取该目录下所有文件,存入列表中
fileList=os.listdir(path)

ifile=0 #读取到第几个文件了
ofile=1 #已经输出了几个文件了
for i in fileList:
    if(i.endswith('.'+xxx)):
        print('找到一个'+i)
        #设置旧文件名(就是路径+文件名)
        oldname=path+ os.sep + fileList[ifile]   # os.sep添加系统分隔符
    
        #设置新文件名
        newname=path+ os.sep +filename+str(ofile).zfill(2)+'.'+xxx
    
        os.rename(oldname,newname)   #用os模块中的rename方法对文件改名
        print(oldname,'======>',newname)
        ofile+=1
    ifile+=1
    

程序结束--------------------------------------------------------------------------------------------

程序运行方法  安装号python并配置好环境变量后

 复制文本到一个文本编辑器,保存成XXX.py  双击执行 就可以把这个py文件所在目录的文件批量重命名

 

2019-10-03更新

读取程序名 分析出输出文件名 序号的位数 扩展名

程序开始--------------------------------------------------------------------------------------------

#本程序 读取自己的文件名  例如_Ax.B.py
#将同目录下的 扩展名为B的文件 重命名为A加上x位序号

#coding=utf-8
import os
#获取本文件所在路径
path = os.getcwd()
print('所在位置:'+path)

#获取文件全名
fullname = os.path.basename(__file__)
print('程 序 名:'+fullname)

print('---------------------------------------------------------')
#获取输出文件名  
filename = fullname.split('.')[0][1:-1]
print('输出名为:'+filename)

#获取编号位数
fillcount = fullname.split('.')[0][-1:]
print('编号位数:'+fillcount)

#获取扩展名
xxx = fullname.split('.')[1]
print('扩展名为:'+xxx)
print('---------------------------------------------------------')

#获取该目录下所有文件,存入列表中
fileList=os.listdir(path)

ifile=0 #读取到第几个文件了
ofile=1 #已经输出了几个文件了
for i in fileList:
    if(i.endswith('.'+xxx)):
        #设置旧文件名(就是路径+文件名)
        oldname=path+ os.sep + i   # os.sep添加系统分隔符
    
        #设置新文件名
        newname=path+ os.sep + filename + str(ofile).zfill(int(fillcount)) + '.' + xxx
    
        os.rename(oldname,newname)   #用os模块中的rename方法对文件改名
        print(oldname,'==>',newname)
        ofile+=1
    ifile+=1
input("按 <enter>结束程序")
 

程序结束--------------------------------------------------------------------------------------------

涉及知识点

1,字符串截取

str = ‘0123456789’
print str[0:3] #截取第一位到第三位的字符
print str[:] #截取字符串的全部字符
print str[6:] #截取第七个字符到结尾
print str[:-3] #截取从头开始到倒数第三个字符之前
print str[2] #截取第三个字符
print str[-1] #截取倒数第一个字符
print str[::-1] #创造一个与原字符串顺序相反的字符串
print str[-3:-1] #截取倒数第三位与倒数第一位之前的字符
print str[-3:] #截取倒数第三位到结尾
print str[:-5:-3] #逆序截取,具体啥意思没搞明白?
012
0123456789
6789
0123456
2
9
9876543210
78
789
96

 

__file__ 是获取文件路径包括文件名,在sys.path 返回相对路径,反之返回绝对路径

 

os.path.basename  从文件路径中截取文件名

 

split('.') 将一个字符串 用'.' 作文分隔符分成一个数组

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值