python - 如何在python中重命名多个文件名
问题描述
我想重命名文件夹中的多个文件,因为它们
当前文件名如下:
3321_AD_axial_001_MRI.jpg
3421_AD_axial_098_MRI.jpg
3521_AD_axial_032_MRI.jpg
预期的文件名如下:
图片0001.jpg、图片0002.jpg、图片0003.jpg
filepath = "/Users/XYZ/Desktop/SVM-Image-Classification-master/test"
import os
def main():
i = 0
for filename in os.listdir("test"):
dst ="images" + str(i) + ".jpg"
src ='test'+ filename
dst ='test'+ dst
i += 1
os.rename(scr,dst)
main()
ileNotFoundError Traceback (most recent call last)
<ipython-input-47-840511576fe7> in <module>()
18
19 # Calling main() function
---> 20 main()
<ipython-input-47-840511576fe7> in main()
11 # rename() function will
12 # rename all the files
---> 13 os.rename(src, dst)
14 i += 1
15
FileNotFoundError: [Errno 2] No such file or directory: 'test0543_AD_axial_099_PET.jpg' -> 'testimage0.jpg'
该函数生成错误并且所有文件名保持不变。他们并没有像我预期的那样改变。谢谢!
解决方案
这里:
import os
def main():
i = 0
for filename in os.listdir("test"):
dst ="images_" + str(i) + "_.jpg"
src = filename
path = "test/"+src
newpath = "test/"+dst
os.rename(path,newpath)
i += 1
main()
推荐阅读
- vuejs2 - Vue-props:我可以将类型道具与 $t{{}} 一起使用吗
- python - numpy 数组创建和重塑命令在 3.5.6 中有效,但在 3.7.3 中无效
- c - 如何清除C中的缓冲区?
- r - 删除逗号,它是 R 中的千位分隔符
- r - 在 R 中将时间序列数据从半小时减少到每小时
- sqlite - SQLite3:如果行存在则增加值否则插入新行
- c++ - 如何在一个字符上读取和保存数据?(流)
- c++ - 为什么 std::hardware_con/破坏性_interference_size 不同?
- python - 无法使用 conda 卸载 keras
- javascript - Reactjs 在循环中重新渲染组件