os.makedirs()不会立即生成目录,但只有在应用程序关闭后才会生成

时间:2017-05-03 10:56:29

标签: python python-2.7

此方法运行正常,但它不会创建目录。然而,当我关闭我的应用程序时,它只会创建目录。

text是一个名字,例如:( Jason)

def addpatient(self, text):
    newpath = os.getcwd() + '/names/' + text + '/'
    if not os.path.exists(newpath):
        os.makedirs(newpath)

我有什么遗漏,或者我错了吗?

1 个答案:

答案 0 :(得分:0)

os.makedirs立即创建新目录/目录。这意味着,如果你运行

os.makedirs(newpath)
print('newpath created!')

当您到达第二行时,新路径已经创建。

所以......我怀疑是开心的是你在某个IDE中运行你的代码,并且你没有看到在你的项目的目录树或你的IDE中创建的新目录。这可能只是因为您的IDE每隔几秒钟或仅在程序运行完毕后才更新目录树。试试这个:

import os
import time

def addpatient(text): 
    etc...

addpatient("examplepath")

time.sleep(30)  # go check if examplepath has been created!!

在这里,您创建了examplepath,然后您已“暂停”您的程序30秒。在这30秒内,请检查您的目录是否已创建。

另一种检查方式是运行:

import os
import time

def addpatient(text): 
    etc...

addpatient("examplepath")

if os.path.exists("examplepath"):
    print("Path exists!")
else:
    print("Path does not exist!")

让我知道,如果我完全错了,你的道路实际上并没有被创造出来!