【问题标题】:FileNotFoundError: [Errno 2] No such file or directory: '/tmp/cats-v-dog [duplicate]FileNotFoundError:[Errno 2] 没有这样的文件或目录:'/tmp/cats-v-dog [重复]
【发布时间】:2020-10-29 16:55:06
【问题描述】:

我使用 os.mkdir 创建了一些目录

try:
#YOUR CODE GOES HERE
os.mkdir("/tmp/cats-v-dogs/")
os.mkdir("/tmp/cats-v-dogs/training/cats")
os.mkdir('/tmp/cats-v-dogs/training/dogs/')
os.mkdir('/tmp/cats-v-dogs/testing/cats')
os.mkdir('/tmp/cats-v-dogs/testing/dogs')
except OSError:
pass

我有清单: 训练 =[dog1,dog2,...,dog100] TRAINING_DOGS_DIR = "/tmp/cats-v-dogs/training/cats/" 我想使用 trainig 元素将文件从一个目录复制到另一个目录:

for list1 in training:
copyfile(os.path.join(SOURCE,list1),TRAINING_DOGS_DIR)

运行该循环后,这是我得到的错误:

FileNotFoundError: [Errno 2] No such file or directory: '/tmp/cats-v-dogs/training/dogs/'

一些帮助或建议谢谢/

【问题讨论】:

标签: python


【解决方案1】:

try-except 块在这里伤害了你。 os.mkdir 一次只能在深度上创建一个目录,所以你的第二行到第五行都失败了,但是因为你正在捕获异常,所以错误是正确的。

解决方案:将所有os.mkdir 替换为os.makedirs,这将毫无问题地创建所有这些。并摆脱try-except!只有当你确切地知道你在捕捉什么时才应该使用这些。

【讨论】:

  • 是的,shutil 模块也可以复制文件,它的工作很顺利
【解决方案2】:

您可以使用包含exist_ok 参数的os.makedirs

os.makedirs("/tmp/cats-v-dogs/", exist_ok=True)

【讨论】:

    猜你喜欢
    • 2014-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-03
    • 2021-08-24
    • 2021-03-07
    相关资源
    最近更新 更多