0

我有一个充满视频文件的目录,这些文件已重命名为:

video.3gp~1209384

我需要从文件名中删除所有字符,包括~. 任何帮助都是极好的!

4

2 回答 2

0

我个人会为此使用 IPython;它与 bash/shell 集成。只需在 shell 命令前加上前缀!并在 shell 命令中使用$.

>>> files = !ls *.3gp~*
>>> for f in files:
        newname = f.split('~')[0]
        mv $f $nename

或者,如果这不是一个选项(例如,您不能安装 IPython 或必须使用纯 Python):

import os

files = os.listdir(DIRNAME)
for f in files:
    if '.3gp~' in f:
        newname = f.split('~')[0]
        os.rename(f, newname)

这两个都假设您的文件没有~您想要保留的名称部分;这不太可能;但如果他们这样做了,那将是对代码的一个非常简单的改编。

于 2013-10-01T20:40:59.060 回答
0

尝试这个:

import os
for filename in os.listdir("."):    
    os.rename(filename, filename[:filename.find("~")])
于 2013-10-01T20:42:44.913 回答