今天做了一个python例题,批量修改文件名称,一直报错OSError: [WinError 87] 参数错误。修改了半天终于发现问题出在其中的格式化时间的函数,我用time.strftime()函数格式化时间,里面的时分秒之间的分号不能是英文的分号,改成中文分号就行了,而且好像也可以替换成汉字“时分秒”。
代码如下:
import os
def formatTime(longtime):
import time
return time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(longtime)) # 不能用英文分号
path = r'批量改图片名称' # 相对路径
tuples = os.walk(path) # walk()函数遍历文件夹下的目录及文件
tuple1 = tuple(tuples)[0][2] # 获取存储文件的元组
print(tuple1)
for str1 in tuple1: # 循环遍历元组元素
newpath = os.path.join(path, i) # 将文件路径精确到文件名(原始文件名)
fileinfo = os.stat(newpath) # 获取文件基本信息
createtime = formatTime(fileinfo.st_mtime) # 格式化时间
dst = os.path.join(path, createtime + '__' + str1) # 新文件名
if os.path.exists(newpath): # 判断文件是否存在
os.rename(newpath, dst) # 重命名
print("改名成功")