Python3—对目标文件夹下的所有文件的格式进行转换os、os.walk()、os.rename()、list、x.replace(x,y)、range()、x.append()
1、环境配置,未替换之前数据
root@kali:~/pywork# ls
py_change_dirallfiles_format.py py_del_dirfileslast_format.py py_replace_dirfileslast_format.py
root@kali:~/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
root@kali:~/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
root@kali:~/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#