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