AttributeError: 'module' 对象没有属性 'exist'

Mau*_*ius 1 python directory python-os

我想检查一个文件是否存在,以及它是否给我创建的文件夹提供mkdir了下一个更高的数字。不知何故,Error: AttributeError: 'module' object has no attribute 'exist'我不明白为什么该 os 功能对我不起作用。有任何想法吗?

import os
map_name="Example.png"
wk_dir = os.path.dirname(os.path.realpath('__file__'))
dir_name=os.path.splitext(os.path.basename(map_name))[0]

for n in range(0,200):
    m=n+1
    if os.path.exist(wk_dir + "/" + dir_name + "_%s_%dx%d_%d" % (a, resolution, resolution,n)):
        os.mkdir(wk_dir + "/" + dir_name + "_%s_%dx%d_%d" % (a, resolution, resolution,m))
    break
Run Code Online (Sandbox Code Playgroud)

小智 6

你的问题是打字错误。它应该是

os.path.exists(wk_dir + "/" + dir_name + "_%s_%dx%d_%d" % (a, resolution, resolution,n))
Run Code Online (Sandbox Code Playgroud)

代替

os.path.exist(wk_dir + "/" + dir_name + "_%s_%dx%d_%d" % (a, resolution, resolution,n))
Run Code Online (Sandbox Code Playgroud)

请注意,os.path.exists如果有任何名称作为参数传递的内容,则返回 true,无论是文件还是目录。

检查文件是否存在:

import os
if os.path.isfile("~/myfile"):
    print("this file exists!")
else:
    print("file not found!")
Run Code Online (Sandbox Code Playgroud)

检查目录是否存在:

import os
if os.path.isdir("~/mydir"):
    print("this directory exists!")
else:
    print("directory not found!")
Run Code Online (Sandbox Code Playgroud)