通过删除文件名的一部分来重命名目录中的文件



所以我有一个目录,其中包含多个文件名为"001.ome_s001.tiff"等等......我试过这个代码

import os

# Function to rename multiple files
def main():

for count, filename in enumerate(os.listdir("mask/")):
dst ="0" + str(count) +"_s0"+str(count)+".tiff"
src = os.path.join("mask/", filename)
dst = os.path.join("mask/", dst)

# rename() function will
# rename all the files
os.rename(src, dst)

# Driver Code
if __name__ == '__main__':

# Calling main() function
main()

但是我发现它改变了整个名字。

我想要的是一个简单的方法来删除"。从所有使用python的文件。谢谢你

这不是最优的,但它应该工作!不要在其他上下文中使用这个!

for filename in os.listdir("mask/"):
os.rename(os.path.join("mask/", filename), os.path.join("mask/", filename.replace(".ome", "")))

为了更完美,你必须使用正则表达式。

尝试添加完整路径:

for count, filename in enumerate(os.listdir("mask/")):
dst ="0" + str(count) +"_s0"+str(count)+".tiff"
src = os.path.join("mask/", filename)
dst = os.path.join("mask/", dst)
os.rename(src, dst)

为什么不直接用replace重命名文件呢?

filename = filename.replace(".ome","")