一、基本介绍
os.rename()是Python中重命名文件的函数,用于修改文件或文件夹的名称。它在os模块中定义,并采用旧的文件名和新的文件名作为参数。
import os os.rename("旧文件名", "新文件名")
其中"旧文件名"和"新文件名"都需要以字符串的形式传递给os.rename()函数。例如:
os.rename("myFile.txt", "newFile.txt")
上面的代码将把名为"myFile.txt"的文件重命名为"newFile.txt"。
二、重命名文件夹
os.rename()还可以用于重命名文件夹。例如,以下代码将把名为"oldFolder"的文件夹重命名为"newFolder":
os.rename("oldFolder", "newFolder")
请注意,这只会重命名文件夹本身,而不重命名文件夹中的文件。
如果你想重命名文件夹中的文件,你需要使用os模块中的其他函数,如os.listdir()和os.path.join()。
三、重命名多个文件
如果你需要重命名多个文件,可以使用for循环遍历文件名列表,并依次重命名每个文件。
import os fileList = ["file1.txt", "file2.txt", "file3.txt"] for file in fileList: os.rename(file, "new_" + file)
上面的代码将把名为"file1.txt"、"file2.txt"和"file3.txt"的文件依次重命名为"new_file1.txt"、"new_file2.txt"和"new_file3.txt"。
四、重命名文件名中的一部分
有时,您可能需要重命名文件名中的一部分。一个常见的例子是将文件扩展名从.txt更改为.csv。
在这种情况下,你可以使用Python中的字符串函数slice()来剪切和组合文件名。
import os fileList = os.listdir() for file in fileList: fileName, fileExt = os.path.splitext(file) if fileExt == ".txt": os.rename(file, fileName + ".csv")
上面的代码将扫描当前目录中的所有文件,并将扩展名为".txt"的所有文件重命名为".csv"。
五、处理文件名中的空格
在文件名中包含空格可能会导致重命名失败。例如,以下代码将无法重命名名为"my file.txt"的文件:
os.rename("my file.txt", "new_file.txt")
这是因为Python将"my"、"file.txt"和"new_file.txt"视为三个不同的字符串。为了处理这个问题,您可以使用字符串函数replace()将空格替换为下划线或破折号。
import os fileName = "my file.txt" newFileName = fileName.replace(" ", "_") os.rename(fileName, newFileName)
上面的代码将文件名中的空格替换为下划线,并将文件重命名为"my_file.txt"。
六、文件重命名的注意事项
在使用os.rename()函数时,请注意以下事项:
- 使用os.rename()重命名文件或文件夹时,请确保您具有足够的权限来执行该操作。
- 请务必小心,并确保只重命名您要重命名的文件或文件夹。
- 请记住备份重命名前的文件或文件夹,以便于以后撤销错误操作。