os.rename修改文件为同样名字
时间: 2024-09-30 19:03:47 浏览: 29
`os.rename()` 函数用于在同一个目录下重命名文件或目录[^1]。如果你想让两个具有相同名称的文件位于不同的位置,直接使用 `rename` 可能无法实现,因为它会尝试替换源文件。在这种情况下,你可以先删除旧文件,然后再使用 `rename` 功能创建新的文件:
```python
# 删除旧文件 (假设你确认新路径下的文件不存在)
os.remove(r'F:\资料\11.docx')
# 使用 rename 创建新的文件
os.renames(r'F:\资料\1.docx', r'F:\资料\11.docx')
```
但请注意,如果 `11.docx` 已经存在,这将会失败,除非你先移除它。
至于管理文件名的不同部分(如基名称和目录),`os.path.basename()` 返回路径的最后部分(即文件名,不包括扩展名),而 `os.path.dirname()` 返回路径中的目录部分:
```python
filename = "F:\\资料\\a\\b\\cc"
basename = os.path.basename(filename) # 输出: cc
dirname = os.path.dirname(filename) # 输出: F:\\资料\\a\\b
# 如果你想创建一个新的子目录并保存文件
new_filename = os.path.join(dirname, "new_cc.txt")
with open(new_filename, "w") as f:
f.write("New file content")
```
这里我们创建了一个名为 "new_cc.txt" 的新文件,它在原始 "cc" 文件所在的目录 "F:\资料\a\b\" 下。
阅读全文