我有一个目录,其中包含已重命名为以下内容的视频文件:
video.3gp~1209384
我需要从文件名中删除所有字符,包括~
。任何帮助都会很棒!
答案 0 :(得分:0)
我个人只会使用IPython;它与bash / shell集成。只需使用!
为shell命令添加前缀,并使用$
在shell命令中插入Python变量。
>>> 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)
这两个假设您的文件在您要保留的名称部分没有~
;这不太可能;但如果他们这样做,那么在代码中它将是一个非常简单的适应。
答案 1 :(得分:0)
试试这个:
import os
for filename in os.listdir("."):
os.rename(filename, filename[:filename.find("~")])