1. 程式人生 > >Python3---對目標資料夾下的所有檔案的格式進行轉換os、os.walk()、os.rename()、list、x.replace(x,y)、range()、x.append()

Python3---對目標資料夾下的所有檔案的格式進行轉換os、os.walk()、os.rename()、list、x.replace(x,y)、range()、x.append()

Python3—對目標資料夾下的所有檔案的格式進行轉換os、os.walk()、os.rename()、list、x.replace(x,y)、range()、x.append()

1、環境配置,未替換之前資料
[email protected]:~/pywork# ls
py_change_dirallfiles_format.py  py_del_dirfileslast_format.py  py_replace_dirfileslast_format.py
[email protected]:~/pywork# ls -la /root/testdir/
total 1612
drwxr-xr-x  3 root root   4096 Jun 11 18:21  .
drwxr-xr-x 32 root root   4096 Jun 12 09:43  ..
-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:22 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 [email protected]:~/pywork# ls -la /root/testdir/brachdir/ total 712 drwxr-xr-x 2 root root 4096 Jun 11 18:22 . drwxr-xr-x 3 root root 4096 Jun 11 18:21 .. -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 [email protected]:~/pywork#
2、python指令碼程式碼
root@kali:~/pywork# ls
py_change_dirallfiles_format.py  py_del_dirfileslast_format.py  py_replace_dirfileslast_format.py
root@kali:~/pywork# cat py_replace_dirfileslast_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))

def del_filelast(list_files):#去除檔名中的字元.替換成*
    for new_filename in list_files:
        new_list_files.append(new_filename.replace(".","*"))

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)

if __name__ == "__main__":
    list_files = []#遍歷目標目錄下所有檔案,儲存為列表
    new_list_files = []#所有被改成新的檔名的列表

    detect_walk("/root/testdir")#模組遍歷目標目錄下所有的檔名
    del_filelast(list_files)

    renamefiles_list(list_files,new_list_files)#模組對檔名進行修改

    print("----------------去除字元.前的檔名---------")
    print (list_files)

    print("----------------去除字元.後的檔名------------")
    print(new_list_files)

root@kali:~/pywork# 
3、指令碼執行情況
root@kali:~/pywork# 
root@kali:~/pywork# python3.6 py_replace_dirfileslast_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/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@kali:~/pywork# 
root@kali:~/pywork# 
root@kali:~/pywork# 
root@kali:~/pywork# ls -la /root/testdir/
total 1612
drwxr-xr-x  3 root root   4096 Jun 12 09:44  .
drwxr-xr-x 32 root root   4096 Jun 12 09:43  ..
-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 12 09:44  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 12 09:44  .
drwxr-xr-x 3 root root   4096 Jun 12 09:44  ..
-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#