Python3---对目标文件夹下的所有文件名以及文件夹名进行重新命名。os、os.walk()、os.rename()、list、range()、x.append()

Python3—对目标文件夹下的所有文件以及文件夹进行重新命名。os、os.walk()、os.rename()、list、range()
参考:https://blog.csdn.net/wowocpp/article/details/79460407
https://blog.csdn.net/sinat_31206523/article/details/78824014

1、环境配置,未设置之前
root@kali:~/pywork# ls -la /root/testdir/
total 1612
drwxr-xr-x  3 root root   4096 Jun 11 16:33  .
drwxr-xr-x 32 root root   4096 Jun 11 16:29  ..
-rwxrw-rw-  1 root root 620888 Jul 14  2009  1231.jpg
-rwxrw-rw-  1 root root   7419 Aug 30  2016  20160830.wvs
-rwxrw-rw-  1 root root  30208 Feb 15  2017  234.xls
-rwxrw-rw-  1 root root 169984 May 26  2016  bookmarks4.html
drwxr-xr-x  2 root root   4096 Jun 11 18:02  brachdir
-rwxrw-rw-  1 root root 780831 Jul 14  2009  orderDetail_export_2017-02-150.png
-rwxrw-rw-  1 root root    816 Jul 20  2017  orderExchangeDetail.zip
-rwxrw-rw-  1 root root     72 Jun 11 09:57 'see hell.owmv'
-rwxrw-rw-  1 root root    159 Sep  8  2016  Test.java
-rwxrw-rw-  1 root root      0 Sep  8  2016  test.txt
-rwxrw-rw-  1 root root   8192 Jun 11 09:30  zifuchuan1.py
-rwxrw-rw-  1 root root      0 Jun 11 09:27  大大.rvmb
-rwxrw-rw-  1 root root      0 Jun 11 09:28  蜂鸟.mp4
root@kali:~/pywork# ls -la /root/testdir/brachdir/
total 712
drwxr-xr-x 2 root root   4096 Jun 11 18:02 .
drwxr-xr-x 3 root root   4096 Jun 11 16:33 ..
-rwxrw-rw- 1 root root 130311 Feb 26  2017 bookmarks-2017-02-26.json
-rwxrw-rw- 1 root root 276015 Jun 15  2017 bookmarks20170615.html
-rwxrw-rw- 1 root root    112 Jul 10  2015 drozer_config
-rwxrw-rw- 1 root root 305046 Sep 20  2017 id.txt
root@kali:~/pywork# 
2、脚本代码
root@kali:~/pywork# 
root@kali:~/pywork# ls
py_change_dirallfiles_format.py  py_del_dirfileslast_format.py
root@kali:~/pywork# cat py_change_dirallfiles_format.py 
#/usr/bin/python3.6
#--*-- coding:utf-8 --*---

import os

def detect_walk(dir_path):
    for root,dirs,files in os.walk(dir_path):
        for filename in files:#遍历目标文件夹下所有文件
            #print ("\033[1;35m file:%s \033[0m!\n" % filename)
            list_files.append(os.path.join(root,filename))
        for dirname in dirs:#遍历目标文件夹下所有的文件夹
            #print ("dir:%s\n" % dirname)
            list_dirs.append(os.path.join(root,dirname))

def new_filelast_list(list_files):#把所有文件名后面追加xyz
    for new_filesname in list_files:
        new_list_files.append(new_filesname+"xyz")#把所有新的文件名后面追加xyz

def new_dirlast_list(list_dirs):#把所有的文件夹后面追加xyz
    for new_dir in list_dirs:
        new_list_dirs.append(new_dir+"xyz")#把所有新的文件夹后面追加xyz

def renamefiles_list(srcfile,dstfile):#对文件名进行重命名
    for i in range(0,len(list_files)):
        try:
            os.rename(srcfile[i],dstfile[i])#对文件名重命名
        except Exception as e:
            print(e)

def renamedirs_list(srcdir,dstdir):#对文件夹重命名
    for i in range(0,len(list_dirs)):
        try:
            os.rename(srcdir[i],dstdir[i])
        except Exception as e:
            print (e)

if __name__ == "__main__":
    list_files = []#遍历目标目录下所有文件,保存为列表
    list_dirs = []#遍历木钵目录下所有文件夹,保存为列表
    new_list_files = []#所有被改成新的文件名的列表
    new_list_dirs = []#所有被改成新的文件夹的列表

    detect_walk("/root/testdir")#模块遍历目标目录下所有的文件名与目录
    new_filelast_list(list_files)#模块创建新的文件名
    new_dirlast_list(list_dirs)#模块创建新的文件夹

    renamefiles_list(list_files,new_list_files)#模块对文件名进行修改
    renamedirs_list(list_dirs,new_list_dirs)#模块对文件夹进行

    print("----------原始的文件名与文件夹名---------")
    print (list_files)
    print(list_dirs)

    print("-----------修改后的文件名与文件夹名------")
    print(new_list_files)
    print(new_list_d
3、运行情况
root@kali:~/pywork# python3.6 py_change_dirallfiles_format.py 
----------原始的文件名与文件夹名---------
['/root/testdir/234.xls', '/root/testdir/bookmarks4.html', '/root/testdir/20160830.wvs', '/root/testdir/test.txt', '/root/testdir/1231.jpg', '/root/testdir/orderDetail_export_2017-02-150.png', '/root/testdir/大大.rvmb', '/root/testdir/see hell.owmv', '/root/testdir/orderExchangeDetail.zip', '/root/testdir/Test.java', '/root/testdir/蜂鸟.mp4', '/root/testdir/zifuchuan1.py', '/root/testdir/brachdir/id.txt', '/root/testdir/brachdir/bookmarks20170615.html', '/root/testdir/brachdir/drozer_config', '/root/testdir/brachdir/bookmarks-2017-02-26.json']
['/root/testdir/brachdir']
-----------修改后的文件名与文件夹名------
['/root/testdir/234.xlsxyz', '/root/testdir/bookmarks4.htmlxyz', '/root/testdir/20160830.wvsxyz', '/root/testdir/test.txtxyz', '/root/testdir/1231.jpgxyz', '/root/testdir/orderDetail_export_2017-02-150.pngxyz', '/root/testdir/大大.rvmbxyz', '/root/testdir/see hell.owmvxyz', '/root/testdir/orderExchangeDetail.zipxyz', '/root/testdir/Test.javaxyz', '/root/testdir/蜂鸟.mp4xyz', '/root/testdir/zifuchuan1.pyxyz', '/root/testdir/brachdir/id.txtxyz', '/root/testdir/brachdir/bookmarks20170615.htmlxyz', '/root/testdir/brachdir/drozer_configxyz', '/root/testdir/brachdir/bookmarks-2017-02-26.jsonxyz']
['/root/testdir/brachdirxyz']
root@kali:~/pywork# 
root@kali:~/pywork# 
root@kali:~/pywork# ls -la /root/testdir/
total 1612
drwxr-xr-x  3 root root   4096 Jun 11 18:09  .
drwxr-xr-x 32 root root   4096 Jun 11 18:09  ..
-rwxrw-rw-  1 root root 620888 Jul 14  2009  1231.jpgxyz
-rwxrw-rw-  1 root root   7419 Aug 30  2016  20160830.wvsxyz
-rwxrw-rw-  1 root root  30208 Feb 15  2017  234.xlsxyz
-rwxrw-rw-  1 root root 169984 May 26  2016  bookmarks4.htmlxyz
drwxr-xr-x  2 root root   4096 Jun 11 18:09  brachdirxyz
-rwxrw-rw-  1 root root 780831 Jul 14  2009  orderDetail_export_2017-02-150.pngxyz
-rwxrw-rw-  1 root root    816 Jul 20  2017  orderExchangeDetail.zipxyz
-rwxrw-rw-  1 root root     72 Jun 11 09:57 'see hell.owmvxyz'
-rwxrw-rw-  1 root root    159 Sep  8  2016  Test.javaxyz
-rwxrw-rw-  1 root root      0 Sep  8  2016  test.txtxyz
-rwxrw-rw-  1 root root   8192 Jun 11 09:30  zifuchuan1.pyxyz
-rwxrw-rw-  1 root root      0 Jun 11 09:27  大大.rvmbxyz
-rwxrw-rw-  1 root root      0 Jun 11 09:28  蜂鸟.mp4xyz
root@kali:~/pywork# ls -la /root/testdir/brachdirxyz/
total 712
drwxr-xr-x 2 root root   4096 Jun 11 18:09 .
drwxr-xr-x 3 root root   4096 Jun 11 18:09 ..
-rwxrw-rw- 1 root root 130311 Feb 26  2017 bookmarks-2017-02-26.jsonxyz
-rwxrw-rw- 1 root root 276015 Jun 15  2017 bookmarks20170615.htmlxyz
-rwxrw-rw- 1 root root    112 Jul 10  2015 drozer_configxyz
-rwxrw-rw- 1 root root 305046 Sep 20  2017 id.txtxyz
root@kali:~/pywork# 

猜你喜欢

转载自blog.csdn.net/xwbk12/article/details/80652084
今日推荐