批量重命名文件,解决方案
分类:微服架构

解决方案:WindowsError: [Error 2],windowserrorerror

 

 

  使用Python的rename(卡塔尔(قطر‎函数重命名文件时出现难题,提醒 WindowsError: [Error 2] 错误,最早代码如下:

def renameFile(filename):
    filePre = "D:\FileDemo\Python\pt.py"
    os.rename(filePre, filename)
    print os.listdir(filePre)

if __name__ == '__main__':
    fileNew = "D:\FileDemo\Python\Test.py"
   renameFile(fileNew)

 

  后来通过屡屡尝试,问题衰亡~

  rename早前要先用chdir(卡塔尔国函数步向到指标文件所在的门径,告诉python编写翻译器要重命名的文本在何方,然后才方可修正;

  Python不是骇然的终结者,她骨子里很幼小,自个儿找不到文件,须求大家详细又意志的告诉她该去何方找~ 路线通过 os.path.dirname(卡塔尔国函数得到:

import os
from nt import chdir

def renameF(preName, newName):
    chdir(os.path.dirname(preName))
    os.rename(preName, newName)

if __name__ == '__main__':
    filePre = "D:FileDemoPythonPT.py"
    fileNew = "D:FileDemoPythonTest.txt"
    renameF(filePre, fileNew)

  代码特别简短,通过改正filePre,fileNew能够重命名大肆文件。

  

: [Error 2],windowserrorerror 使用Python的rename(卡塔尔国函数重命名文件时现身难点,提示WindowsError: [Error 2] 错误,最早代码如下:...

职分比较轻松,有个别目录下边有几千个文件,某个文件未有后缀名,以后的天职便是将具备的从没有过后缀名的文书加上后缀名,python有现存的函数能够完毕,不过在促成进程中相遇几个难题,分享一下缓和方法
上边是终极代码 (windows下降成的)
 
# -*- coding: cp936 -*-
import os
path = 'D:\图片\'
for file in os.listdir(path):
    if os.path.isfile(os.path.join(path,file))==True:
        if file.find('.')<0:
            newname=file+'rsfdjndk.jpg'
            os.rename(os.path.join(path,file),os.path.join(path,newname))
            print file,'ok'
#        print file.split('.')[-1]
 
 达成的办法是:首先遍历path内定的目录,若是是文本(不是文本夹)何况文件名中不真实‘.’ ,约等于未有后缀名,就把这一个文件加上后缀名,然后重命名
多少细节要求专心:
1.如若path钦点的文本夹不是以此顺序的随地的目录,rename函数里面包车型客车门路就务须是绝对路线,不然就能报‘WindowsError: [Error 2]’错误
2.重命名时如若新文件名曾经存在,就能够报‘WindowsError: [Error 183]’ 错误,所以,新文件名最棒拉长一些私自字符串
3.豆蔻梢头旦改文件名也许后缀名能够用split(卡塔尔(قطر‎ 函数进行剪切
4.find函数假诺找不到内定的字符串的话就能够回到 ‘-1’

上面是最终代码 (windows下达成的)

 

复制代码 代码如下:

摘自 ma6174

# -*- coding: cp936 -*-
import os
path = 'D:\图片\'
for file in os.listdir(path):
if os.path.isfile(os.path.join(path,file))==True:
if file.find('.')<0:
newname=file+'rsfdjndk.jpg'
os.rename(os.path.join(path,file),os.path.join(path,newname))
print file,'ok'
# print file.split('.')[-1]

...

福衢寿车的秘技是:首先遍历path钦赐的目录,假设是文本(不是文本夹)何况文件名中空头支票‘.' ,也正是未有后缀名,就把那么些文件加上后缀名,然后重命名

稍微细节须求专一:

1.生机勃勃旦path钦命的文本夹不是以此顺序的四处的目录,rename函数里面包车型大巴路子就非得是相对路线,不然就能够报‘WindowsError: [Error 2]'错误

2.重命名时要是新文件名早就存在,就能报‘WindowsError: [Error 183]' 错误,所以,新文件名最佳增加部分Infiniti定字符串

3.借使改文件名大概后缀名能够用split(卡塔尔(قطر‎ 函数进行划分

4.find函数风流倜傥旦找不到钦赐的字符串的话就能够回到 ‘-1'
博主ma6174

(windows下达成的) 复制代码 代码如下: # -*- coding: cp936 -*- import os path = 'D:\图片\' for file in os.listdir(path): if os.path.isfile(os...

本文由10bet手机官网发布于微服架构,转载请注明出处:批量重命名文件,解决方案

上一篇:下hosts文件详解 下一篇:没有了
猜你喜欢
热门排行
精彩图文