一、基本介绍
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()
重命名文件或文件夹时,请确保您具有足够的权限来执行该操作。 - 请务必小心,并确保只重命名您要重命名的文件或文件夹。
- 请记住备份重命名前的文件或文件夹,以便于以后撤销错误操作。