Python-Which command is better for changing the file extension?
本问题已经有最佳答案,请猛点这里访问。
我正在尝试更改文件的扩展名,我有两个选项。
两者都给出相同的输出。 所以我从
不可能在文件名中包含太多
哪两个更好? 什么是拇指规则(如果有的话)?
在实施它们时,它们是不同的。 使用正确的:
1 2 3 4 | >>> os.path.splitext(os.path.basename('a.b.c'))[0] + '.new' 'a.b.new' >>> os.path.basename('a.b.c').split('.')[0] +".new" 'a.new' |
更新
可以用
1 2 | >>> os.path.basename('a.b.c').rsplit('.', 1)[0] +".new" 'a.b.new' |
但是函数之间的差异仍然存在,因为
1 2 3 4 | >>> os.path.splitext(os.path.basename('.a'))[0] + '.new' '.a.new' >>> os.path.basename('.a').rsplit('.', 1)[0] + '.new' '.new' |
第一个是两者中较好的一个。
如果文件名中有两个或更多个句点,则第二个会被绊倒。