Python3.5和os.makedirs()不起作用

时间:2016-07-05 09:41:23

标签: python path directory operating-system

在我的python脚本中是一个方法,它应该为输入中定义的路径创建父目录。脚本完成没有任何异常,但没有创建目录。我在Ubuntu 14.04中运行python3.5。

def create_parent_directory(path):
    dir_name = os.path.dirname(path)
    if not os.path.exists(dir_name) and not dir_name == "":
        os.makedirs(dir_name)

我用这个方法制作了第二个脚本,问题仍然是一样的,所以这个方法确实是错误的。看起来os.path.exists(dir_name)也不起作用。

我的输入是问题吗?当我希望在脚本所在的位置创建目录时,我使用的命令是srip.py MyPath。 我应该使用scrip.py / home / bla / blabla / MyPath之类的东西吗?或者我应该在脚本中使用相对路径吗?

1 个答案:

答案 0 :(得分:0)

您尝试创建的目录已存在。

os.path.dirname("/home/bla/blabla/MyPath")返回MyPath所在的目录,即/home/bla/blabla。如果您的脚本位于目录/home/bla/blabla中,并且您想在同一目录中创建MyPath目录,

def create_parent_directory(path):
    if not os.path.exists(path) and not path == "":
        os.makedirs(path)