Python: Rename multiple files starting with a “#”
我想重命名一个目录中的多个文件,如果它们以""开头,例如:
#222_message_split->222_message_split
#013_message_split2->013_message_split2
编辑:我尝试过:
1 2 3 | for filename in os.listdir(PATH): if filename.startswith("#"): os.rename(filename, filename[1:]) |
edit2:在pstatix的帮助下,我得到了代码,现在也检查了"uuuuuuuu"文件的子目录。
1 2 3 4 5 6 | for root, dirs, files in os.walk(PATH): for dir in dirs: if dir.startswith("#"): org_fp = os.path.join(root, dir) new_fp = os.path.join(root, dir[1:]) os.rename(org_fp, new_fp) |
你很接近,尽管你的压痕已经消失了:
原始问题:
1 2 3 4 5 | for filename in os.listdir(PATH): if filename.startswith("#"): org_fp = os.path.join(PATH, filename) new_fp = os.path.join(PATH, filename[1:]) os.rename(org_fp, new_fp) |
即使
请求更新的注释:
1 2 3 4 5 6 | for root, dirs, files in os.walk(PATH): for file in files: if file.startswith("#"): org_fp = os.path.join(root, file) new_fp = os.path.join(root, file[1:]) os.rename(org_fp, new_fp) |
查看文档和本文以获取信息。