python error80-python error 80 的问题

问题描述

python error 80 的问题

工作中需要把第一张图示的.mp4文件名修改成第二张图示的编号.mp4的格式


我直接根据文件命名特点,提取相同模式的方式做了一遍,这里使用os.rename()方法没有报任何错误

 #!/usr/bin/env python
# -*- coding: utf-8 -*- 

import fnmatch
import os
import re

def iterfindfiles(path, fnexp):
    for root, dirs, files in os.walk(path):
        for filename in fnmatch.filter(files, fnexp):
            yield os.path.join(root, filename)

def fiterFiles():
    path=raw_input("input dir:")
    filterfiletype=raw_input("input file filter type:")
#根据观察文件类型,发现所有文件的命名方式都是类似的,所以抓住这一特点进行修改
    #keyword=str(filterfiletype)
    for filename in iterfindfiles(path, filterfiletype):
        index=filename.find("=")
        if(index>=0):
            indexOther=filename.find(".")
            deletename=filename[index:indexOther-1]
            end=".mp4"
            pos=filename.find(deletename)
            preStr=filename[0:pos]
            newname=preStr+end
            print newname
            os.rename(filename,newname)
def main():
    fiterFiles()

if __name__ == "__main__":
    main()

但是这种方法很死板,一次只能修改.mp4的文件,不能修改同样命名的其他格式的文件
,所以我将代码进行了优化,根据提取头6为数字和尾部文件类型的方式获取到新的文件名
用同样分方法去重命名,可是这次一次报错error 80的错误,希望大虾帮忙看下是怎么回事儿。

import fnmatch
import os
import re

 def iterfindfiles(path, fnexp):
    for root, dirs, files in os.walk(path):
        for filename in fnmatch.filter(files, fnexp):
            yield os.path.join(root, filename)

def fiterFiles():
    path=raw_input("input dir:")
    filterfiletype=raw_input("input file filter type:")
    for filename in iterfindfiles(path, filterfiletype):
        top6=re.findall('[0-9]{6}',filename)#查找文件名中的六位数字
        end4=re.findall('..+',filename)#查找文件命中包括.之后的所有字符
        for top in top6:
            next
        for end in end4:
            newname=top+end#将找到的6位字符和文件类型连接成新的命名
            #print newname
            os.rename(filename,newname)

def main():
    fiterFiles()

if __name__ == "__main__":
    main()

以下是报错的内容:

Traceback (most recent call last):
File "D:软件包批处理工具modify.py", line 92, in
main()
File "D:软件包批处理工具modify.py", line 89, in main
fiterFiles()
File "D:软件包批处理工具modify.py", line 85, in fiterFiles
os.rename(filename,newname)
WindowsError: [Error 80]

解决方案

是不是同名的文件已存在了,重命名前先判断一下有没有相同名称的文件。

时间: 2024-10-31 17:34:14

python error80-python error 80 的问题的相关文章

Python如何解决error LNK1104: 无法打开文件python34_d.lib这个问题

问题描述 Python如何解决error LNK1104: 无法打开文件python34_d.lib这个问题 解决 error LNK1104: 无法打开文件"python34_d.lib" 解决方案 这个lib文件你配置好了吗?实际存在吗 解决方案二: 这个是python的debug库文件 你是否有倒入工程

学习python处理python编码问题_python

概括.从python1.6开始就可以处理unicode字符了. 一.几种常见的编码格式. 1.1.ascii,用1个字节表示. 1.2.UTF-8,用1个至三个字节表示,表示ascii码时只占用1个字节,ascii编码是UTF-8的子集. 1.3.UTF-16,用2个字节表示,在python中,unicode的含义就是UTF-16. 二.python源文件的编码与解码,我们写的python程序从产生到执行的过程如下: 编辑器---->源代码---->解释器---->输出结果 2.1.编辑

可爱的Python:Python中的文本处理

与其它几种流行的脚本语言一样,Python 是一种用于浏览和处理文本数据的优秀工具.本文为 Python 的初学者概述了 Python 的文本处理工具.文章说明了规则表达式的一些常规概念,并提供了处理文本时,什么情况下应使用(或不使用)规则表达式的建议. 什么是 Python? Python 是由 Guido van Rossum 开发的.可免费获得的.非常高级的解释型语言.其语法简单易懂,而其面向对象的语义功能强大(但又灵活).Python 可以广泛使用并具有高度的可移植性. 字符串 -- 不

可爱的Python: 重温Python的XML工具

David Mertz 创作的 可爱的 Python的第一.第二部分概述了在 Python 中使用XML.然而,在那些最初的文章出现后,Python 中的 XML工具有了很大的发展.不幸的是,这些改进中的大多数并不向后兼容.在这个特别部分中,重温了作者先前对XML 工具的讨论,并提供最新的代码示例. 在许多情况下,Python 是使用 XML 文档的理想语言.像 Perl.REBOL.REXX 和 TCL 一样,它是一种灵活的脚本语言,并且有强大的文本操作能力.而且,除了对多数类型的文本文件(或

python学习-Python如何调用utilitytypes中的函数,急求!

问题描述 Python如何调用utilitytypes中的函数,急求! Python如何调用utilitytypes中的函数,急求,调用格式是什么,求大侠帮助,谢谢,急!!!!!! 解决方案 http://blog.163.com/xychenbaihu@yeah/blog/static/1322296552014829103732900/ 解决方案二: C++调用Python函数C++中调用python函数Python调用PHP的函数

python 迭代器-Python迭代器不是太理解

问题描述 Python迭代器不是太理解 我刚学Python,看到迭代器的概念,不太理解,求大神具体解释一下,十分感谢. 解决方案 http://blog.csdn.net/moxiaomomo/article/details/22598613 解决方案二: python迭代器Python 迭代器Python:迭代器

【人生苦短,我用Python】Python免费精品课连载(2)——序列、列表、元组与字符串

课程学习:零基础入门学习Python - 阿里云大学 上一期,为大家介绍了Python的入门知识--Python语言介绍.常用操作符.分支和循环.([人生苦短,我用Python]Python免费精品课连载(1)) 本期继续为大家带来Python进阶--列表.元组.字符串与序列. 序列 在Python中,最基本的数据结构是序列(sequence).序列中的每个元素被分配一个序号--即元素的位置,也称为索引.第一个索引是 0,第二个则是 1,以此类推.序列中的最后一个元素标记为 -1,倒数第二个元素

《Python核心编程(第二版)》——1.7 比较Python(Python与其他语言的比较)

1.7 比较Python(Python与其他语言的比较) Python已经和很多语言比较过了.一个原因就是Python提供了很多其他语言拥有的特性,另外一个原因就是Python本身也是由诸多其他语言发展而来的,包括ABC.Modula-3.C.C++.Algol-68.SmallTalk.Unix shell和其他的脚本语言,等等.Python就是"浓缩的精华":Van Rossum研究过很多语言,从中吸收了许多觉得不错的特性,并将它们溶于一炉. 然而,往往因为Python是一门解释型

用 Python 实现 Python 解释器

Allison 是 Dropbox 的工程师,在那里她维护着这个世界上最大的 Python 客户端网络之一.在去 Dropbox 之前,她是 Recurse Center 的协调人, 是这个位于纽约的程序员深造机构的作者.她在北美的 PyCon 做过关于 Python 内部机制的演讲,并且她喜欢研究奇怪的 bug.她的博客地址是 akaptur.com. 介绍 Byterun 是一个用 Python 实现的 Python 解释器.随着我对 Byterun 的开发,我惊喜地的发现,这个 Pytho