使用Python重命名目录中的所有文件

3

我有一个目录,其中包含一些具有以下格式的文件:

1 or 2 numbers_S followed by 1 or 2 numbers_L001_R1 or R2_001.fastq

Examples: 1_S1_L001_R1_001.fastq or 14_S14_L001_R2_001.fastq

我希望文件名像这样: 1_R1.fastq 14_R2.fastq 我已经找到了反映文件名的regexp,并成功地在TextWrangler中进行了搜索和替换。以下是我想出的regexp:
Search: (\d+)\wS\d+\wL001\w(R\d)\w001(\.fastq)
Replace: \1_\2\3 (or $1_$2$3 depending on the program)

然而,我想知道如何使用简单的Python脚本批量重命名文件。我将感激任何建议。

谢谢!


1
你能展示一下你当前尝试的代码吗? - phantom
2个回答

16

你可以像这样做

 import glob, re, os

 for filename in glob.glob('/some/dir/*.fastq'):
     new_name = re.sub(pattern, r'\1_\2\3', filename)
     os.rename(filename, new_name)

3
考虑使用包 os ,您可以使用 os.rename (src,dst)。文档在这里

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接