繁体   English   中英

在python中强制重命名文件

[英]Force rename files in python

我想重命名文件,即使新名称存在也没关系,它可以覆盖它。

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

有什么建议吗?

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))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM