Python中的交互式重命名脚本

2024-09-30 04:30:35 发布

您现在位置:Python中文网/ 问答频道 /正文

有一段时间我一直在使用oskarlijeblad的非常有用的file renaming utilities来移动和复制文件。然而,尽管该程序在大多数情况下都能正常工作,但它已经有几年没有更新了,而且与Unicode不兼容的非ASCII字符被C转义字符串替换。这使得以交互方式移动/复制/重命名文件有时真的很麻烦(例如,我有许多文件用西里尔文文件名保存)。在

原理很简单:给程序一个要重命名或复制的文件列表,它会将您放入一个带有文件列表的编辑器中,您可以编辑该列表,保存并退出,然后程序应用这些更改,通过有限的错误处理来捕捉常见情况。在

我考虑过用Python3重新编写他的程序,但我不太确定如何去做,因为我想完全重新实现它们。我有一些想法,但是把想法变成(工作的)代码有点问题。由于我一直在考虑学习Python,我认为这是一个不错的小项目。在

有什么建议吗?在


Tags: 文件字符串程序列表文件名asciiunicode情况
1条回答
网友
1楼 · 发布于 2024-09-30 04:30:35

这听起来是一个很好的项目!您可能需要从shutil模块开始。您可能还对os.path模块感兴趣。在

也许为了让您开始,这里有一个函数,它获取一个文件的路径,并通过复制文件并给它一个.bak扩展名来备份文件。在

import os, shutil

def backup(path):
    if not os.path.exists(path):
        print "No such file:", path
        return
    try:
        shutil.copy(path, path + ".bak")
    except:
        print "There was an error when backing up", path

backup('/path/to/file')

相关问题 更多 >

    热门问题