在Ubuntu上使用Python创建子目录?

时间:2015-11-29 07:24:15

标签: python ubuntu

如何在Ubuntu上使用Python自动创建5个子目录?

我试图创建一个带有文件夹名称的.txt文件,而不是尝试执行以下命令,但它无法正常工作。

python -c 'import sys,os,codecs;[os.mkdir(d) for d in codecs.open(sys.argv[1],"r",&q­uot;utf8")]' subdirectory.txt

我相信这个命令会在1个文件夹中创建文件夹,而不是在文件夹中创建子目录,所以我错了

我目前正在尝试在我的Ubuntu 12.04上的虚拟机上执行此操作。

我想看看我的输出是

/home/user01/testdirectory/subdirectory
/home/user01/testdirectory/subdirectory/sub1
/home/user01/testdirectory/subdirectory/sub1/sub2
/home/user01/testdirectory/subdirectory/sub1/sub2/sub3

等等

2 个答案:

答案 0 :(得分:1)

"显然不是有效的Python。我想你是从一个破坏HTML编码的网站上复制过来的。正确的语法是

codecs.open(sys.argv[1],"r","utf8")

答案 1 :(得分:1)

不确定我是否理解正确。你想在一个shoy中创建一个很长的目录路径吗?如果是这样,可以通过os.makedirs实现(' / long / path / is / here')。

如果要在创建文件之前创建一堆目录,可以使用os.path.dirname获取目录,创建路径,然后创建文件。

如果你需要创建一堆从文件中取出的目录,那么:

[HttpPost]
public JsonResult SavePhotos(IEnumerable<HttpPostedFileBase> photos, FormCollection data)
{
        foreach (var file in photos)
        {
           file.SaveAs(path);
        }

        return Json("success");
}
甚至更好。你不需要python。

cat textfile.txt | xargs -n 1 python -c 'import os, sys;os.makedirs(sys.argv[1])'