我想重命名文件,即使新名称存在,也没关系,它可以覆盖它。
my_location = os.path.realpath(os.path.join(os.getcwd(), os.path.dirname(__file__)))
for filename in os.listdir(my_location + "/static/data/bandsdaily/"):
if filename.endswith(".json"):
source = filename
destination = filename + ".old"
print source, destination
os.rename(source, destination)
我一直有这个错误:
20022014.json 20022014.json.old
Traceback (most recent call last):
File "app/bandsdaily.py", line 89, in <module>
os.rename(source, destination)
OSError: [Errno 2] No such file or directory
有什么建议吗?
答案 0 :(得分:1)
os.listdir()
只返回 文件名,而不是完整路径。您正在尝试重命名当前工作目录中的文件而不是my_location +
/ static / data / bandsdaily /`。前面的路径:
path = os.path.join(my_location, "static/data/bandsdaily")
for filename in os.listdir(path):
if filename.endswith(".json"):
source = filename
destination = filename + ".old"
print source, destination
os.rename(os.path.join(path, source), os.path.join(path, destination))