我正在运行flask项目,并且我正在寻找一种方法来创建目录,该目录位于运行当前App的路径之上。例如:
dirA -->
dirBinA -->
peter.py
griffin.sh
dirCinA -->
index.py <--------- this is the flask app that's running
tom.css
dick.html
harry.js
dirDinA --> <--------- this directory doesn't exist yet
anotherDir -->
turtle.py
我想从在anotherDir
中运行的flask应用程序的新目录dirDinA
中创建新目录dirCinA/index.py
如果我尝试使用os.mkdir("../dirDinA/anotherDir/")
,则烧瓶会显示OSError: [Errno 2] No such file or directory: '../dirDinA/anotherDir'
您可以使用os.makedirs在一个呼叫中创建多个目录级别:
os.makedirs("../dirDinA/anotherDir")
假设您正在目标目录中运行Python脚本,则需要创建一个新目录并将其放入两个步骤中。例如,如果../dirDinA
不存在,则
os.mkdir("../dirDinA/a_new_file.py")
产生“没有这样的文件或目录”错误(并误导性地向您显示您要创建的完整路径,而不是不存在的部分导致了问题)。以下
os.mkdir("../dirDinA")
open("../dirDinA/a_new_file.py", "w").write("test")
不会产生错误。
为了创建一个新的2级深度目录,您需要在TWO步骤中进行创建。例如,如果../dirDinA
尚不存在,则以下命令将失败。
os.mkdir("../dirDinA/anotherDir")
它产生OSError: No such file or directory
,误导您,向您显示您要创建的FULL路径,而不是突出显示不存在的ACTUAL部分正在产生错误。
但是,下面的两步方法很顺利,没有任何错误
os.mkdir("../dirDinA")
os.mkdir("../dirDinA/anotherDir")
目录../dirDinA
必须存在,然后才能在其中创建anotherDir
我建议您使用os.popen:
os.popen("cd ..; mkdir dirDinA; mkdir ./dirDinA/anotherDir; --code for creating turtle.py--; chmod +x turtle.py; python turtle.py");
希望对您有帮助。