【问题标题】:Python: Renaming first 5 files of a folderPython:重命名文件夹的前 5 个文件
【发布时间】:2016-08-25 00:06:57
【问题描述】:
我不知道这是否可以做到,但是有没有办法可以只重命名文件夹中的前 5 个文件?我知道我可以使用 os.listdir() 或 os.walk() 遍历整个文件夹,但我只需要重命名前 5 个文件。我可以使用正则表达式来匹配文件,但问题是还有其他文件匹配相同的正则表达式。有没有人有什么建议?
文件名采用“Test Run 1 4-29-2016 2 07 56 PM”的形式。
【问题讨论】:
标签:
python
regex
rename
os.walk
【解决方案1】:
你可以限制listdir的结果:
os.listdir(os.curdir)[:5]
【解决方案2】:
glob.glob 将允许您使用通配符过滤文件
glob.glob(路径名)
返回与路径名匹配的可能为空的路径名列表,该路径名必须是包含路径规范的字符串。路径名可以是绝对的(如 /usr/src/Python-1.5/Makefile)或相对的(如 ../../Tools//.gif),并且可以包含 shell 样式的通配符。结果中包含损坏的符号链接(如在 shell 中)。不进行波浪号扩展,但 *、? 和用 [] 表示的字符范围将正确匹配。
glob.glob('*.gif')[:5]