我有一个目录,其中包含许多具有以下格式的文件:
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
内成功进行搜索和替换。以下是我提出的正则表达式:
Search: (\d+)\wS\d+\wL001\w(R\d)\w001(\.fastq)
Replace: \1_\2\3 (or $1_$2$3 depending on the program)
但是,我想知道如何使用简单的Python脚本批量重命名文件。我很感激任何建议。
谢谢!
答案 0 :(得分:11)
你可以做这样的事情
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)
答案 1 :(得分:2)
考虑使用 os 包,然后可以使用 os.rename(src,dst)。文档是正确的here。