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('.') 将一个字符串 用'.' 作文分隔符分成一个数组
