我有一个充满视频文件的目录,这些文件已重命名为:
video.3gp~1209384
我需要从文件名中删除所有字符,包括~
. 任何帮助都是极好的!
我个人会为此使用 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)
这两个都假设您的文件没有~
您想要保留的名称部分;这不太可能;但如果他们这样做了,那将是对代码的一个非常简单的改编。
尝试这个:
import os
for filename in os.listdir("."):
os.rename(filename, filename[:filename.find("~")])