Python 无法使用os.mkdir创建控制器

Python 无法使用os.mkdir创建控制器,python,django,Python,Django,我正在尝试创建一个文件夹,以便将文件写入该文件夹。以下是我正在使用的代码: module = 'settings' BASE = os.path.dirname(os.path.abspath(__file__)) templateFolder = BASE + settings.MYAPP_TEMPLATE_DIRS + partnerName os.mkdir(templateFolder) templateFileName = templateFolder + "/" + mo

我正在尝试创建一个文件夹,以便将文件写入该文件夹。以下是我正在使用的代码:

module = 'settings'    
BASE = os.path.dirname(os.path.abspath(__file__))
templateFolder = BASE + settings.MYAPP_TEMPLATE_DIRS + partnerName

os.mkdir(templateFolder)

templateFileName = templateFolder + "/" + moduleName +".html"

with open(templateFileName, 'w') as f:
    myfile = File(f)
    myfile.write(templateHTML)

myfile.closed
f.closed
我收到一个错误,说目录不存在。它是否与文件夹权限有关?或者我的代码有问题


谢谢。

os.mkdir()
不会递归创建目录-问题很可能是父目录不存在。此外,您应该使用
os.path.join()
任何不使用
os.path.join()的原因来构建路径?
.closed
行应该实现什么功能?
with
语句已经为您关闭了
f
。您可以尝试
os.makedirs
,它将生成包含叶目录所需的所有中间级目录。Leon,它的主要优点是跨平台,并将处理您可能创建的任何斜杠问题。搜索一下这个主题,讨论得很好!join与平台无关,但在您的情况下可能更重要,它处理一些边缘条件,例如路径是否包含结束路径分隔符。对于您来说,您的应用程序的行为会有所不同,这取决于MYAPP_TEMPLATE_DIRS是否以“/”结尾。顺便说一下,打印templateFolder并查看它是否真的存在会很有用。