As the title says, I wanted a python program that changes the file name, but I wanted to overwrite if there already is a file with that destination name.
import os, sys
original = sys.argv[1]
output = sys.argv[2]
os.rename(original, output)
But my code just shows me this error when there already is file with that destination name.
os.rename
WindowsError: [Error 183] Cannot create a file when that file already exists
What fix should I make?
解决方案
On Windows os.rename won't replace the destination file if it exists. You have to remove it first. You can catch the error and try again after removing the file:
import os
original = sys.argv[1]
output = sys.argv[2]
try:
os.rename(original, output)
except WindowsError:
os.remove(output)
os.rename(original, output)