Skip to main content
 首页 » 编程设计

Python os- 当我使用 os.mkdir 创建目录时,os.path.isdir 告诉我该目录不存在

2025年05月04日25hnrainll

<分区>

我正在编写一个相当简单的日记条目程序,我需要检查一个目录是否存在,如果不存在,我需要创建一个。

在 journal.py 中,我正在导入另一个模块:文件。该模块处理文件和目录的创建和删除

journal.py

if __name__ == '__main__': 
    if files.testForDir('entries') == False: 
        print 'Directory "entries" does not exist' 
        print 'Attempting to create directory' 
        files.createDir('entires') 

文件.py

def testForDir(dirname, path=os.getcwd()): 
    pathtotest = os.path.join(path, dirname) 
    return os.path.isdir(pathtotest) 
 
def createDir(dirname, path=os.getcwd()): 
    dirpath = os.path.join(path, dirname) 
    try: 
        os.mkdir(dirpath) 
    except OSError as error: 
        print error 

我的问题:当我在 Ubuntu 中创建目录时,testForDir() 返回正确的结果。当我在没有/entries 的情况下运行程序时,它也能正常运行。它使用 os.mkdir() 创建目录,并且/entries 出现在 Ubuntu 中。但是,当我在 os.mkdir() 创建目录后运行它时,testForDir() 返回 False 并引发 OSError 异常,因为该文件夹已经存在。

所以正式地提出问题,并重复我自己:当我使用 os.mkdir() 创建目录时,os.path.isdir() 告诉我目录不存在。

系统信息:Ubuntu 12.04 LTS 32 位,Python 2.7。

文件结构:home/name/Programs/journal/。

日志包含:entries.py(blank), files.py, journal.py, entries(dir)