首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >'FileNotFoundError:重命名文件后没有这样的文件或目录‘

'FileNotFoundError:重命名文件后没有这样的文件或目录‘
EN

Stack Overflow用户
提问于 2020-09-15 02:40:40
回答 1查看 105关注 0票数 0

我是Python新手,正在尝试在按数字顺序重命名图像后将照片(.jpg)复制到文件夹中。我已经编写了以下脚本,将目录中的所有照片(共32,000张)重命名为它们的名称(杂草):

代码语言:javascript
运行
复制
import os
os.chdir('E:\\weeds')
i=1
for file in os.listdir():
    src=file
    dst="weed"+str(i)+".jpg"
    os.rename(src,dst)
    i+=1

以下是输出命名的示例:

然后,我尝试将这些照片中的前250张复制到一个新目录中,如下所示:

代码语言:javascript
运行
复制
import os, shutil

#Copying files to folders
original_weed = 'E:\\weeds'
train_weed = 'E:\\weeds_train'

#Training dataset: Weeds
fnames = ['weed{}.jpg'.format(i) for i in range(250)]
for fname in fnames:
    src = os.path.join(original_weed, fname)
    dst = os.path.join(train_weed, fname)
    shutil.copyfile(src, dst)

会产生以下错误:

代码语言:javascript
运行
复制
FileNotFoundError                         Traceback (most recent call last)
<ipython-input-7-f08fff292dd8> in <module>
     17     src = os.path.join(original_weed, fname)
     18     dst = os.path.join(train_weed, fname)
---> 19     shutil.copyfile(src, dst)

~\anaconda3\lib\shutil.py in copyfile(src, dst, follow_symlinks)
    259         os.symlink(os.readlink(src), dst)
    260     else:
--> 261         with open(src, 'rb') as fsrc, open(dst, 'wb') as fdst:
    262             # macOS
    263             if _HAS_FCOPYFILE:

FileNotFoundError: [Errno 2] No such file or directory: 'E:\\weed0.jpg'

我需要做什么才能使文件能够被识别以进行复制?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-15 02:46:47

您的代码中有一个错误-脚本的第一部分使用从1开始的索引命名图片:

代码语言:javascript
运行
复制
os.chdir('E:\\weeds')
i=1
for file in os.listdir():

而代码的下一部分遍历range函数的结果,在本例中,该函数从0开始,以249结束。有关详细信息,请查看range函数的docs

您得到的错误指示目录中没有名为weed0.jpg的文件,这确实是真的。

您可以做的最简单的修复方法是在代码的第一部分将i的初始值设置为0,它应该可以正常工作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63890116

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档