所以我得到了一个目录Dir
,在Dir
中有三个子目录,每个子目录有五个文件:
正如您所看到的,有四个没有扩展名的文件和一个带有.txt
扩展名的文件
如何以递归方式重命名所有没有扩展名的文件?
目前我正在尝试这个,它适用于单个目录,但如果我将此脚本放入Dir
,我怎么能捕获所有文件?
import os, sys
for filename in os.listdir(os.path.dirname(os.path.abspath(__file__))):
base_file, ext = os.path.splitext(filename)
if ext == "":
os.rename(filename, base_file + ".png")
答案 0 :(得分:2)
如果要执行递归遍历,请使用os.walk
。
for root, dirs, files in os.walk(os.path.dirname(os.path.abspath(__file__))):
for file in files:
base_path, ext = os.path.splitext(os.path.join(root, file))
if not ext:
os.rename(base_path, base_path + ".png")
os.walk
会将您的文件分成普通文件和目录,因此不需要os.path.isdir
。
答案 1 :(得分:0)
<!--TYPO3SEARCH_begin-->