检查文件目录是否存在的最优雅方法是什么,如果不存在,使用Python创建目录?这是我尝试过的:
import os
file_path = "/my/directory/filename.txt"
directory = os.path.dirname(file_path)
try:
os.stat(directory)
except:
os.mkdir(directory)
f = file(filename)
Run Code Online (Sandbox Code Playgroud)
不知何故,我错过了os.path.exists(感谢kanja,Blair和Douglas).这就是我现在拥有的:
def ensure_dir(file_path):
directory = os.path.dirname(file_path)
if not os.path.exists(directory):
os.makedirs(directory)
Run Code Online (Sandbox Code Playgroud)
是否有"开放"的标志,这会自动发生?
有没有办法mkdir -p在Python中获得类似于shell的功能.我正在寻找除系统调用之外的解决方案.我确信代码少于20行,我想知道是否有人写过它?
这里有四条路径:
p1=r'\foo\bar\foobar.txt'
p2=r'\foo\bar\foo\foo\foobar.txt'
p3=r'\foo\bar\foo\foo2\foobar.txt'
p4=r'\foo2\bar\foo\foo\foobar.txt'
Run Code Online (Sandbox Code Playgroud)
目录可能存在也可能不存在于驱动器上.在每条路径中创建目录最优雅的方法是什么?
我正在考虑os.path.split()在循环中使用,并检查目录os.path.exists,但我不知道它有更好的方法.
我正在编写代码,我将根据从数据库中检索的字符串创建文件夹和子文件夹.它是动态的; 它可以是一级,两级或十级.
我正在尝试用斜线替换点并创建正确的树,但下面的代码不能完成这项工作:
for x in i.publish_app.split('.'):
if not os.path.isdir(os.path.join(settings.MEDIA_ROOT, PATH_CSS_DB_OUT) + x + '/'):
os.mkdir(os.path.join(settings.MEDIA_ROOT, PATH_CSS_DB_OUT) + x + '/')
Run Code Online (Sandbox Code Playgroud)
i.publish_app例如,是'apps.name.name.another.name'.
我该怎么做?