如何在Ubuntu上使用Python自动创建5个子目录?
我试图创建一个带有文件夹名称的.txt文件,而不是尝试执行以下命令,但它无法正常工作。
python -c 'import sys,os,codecs;[os.mkdir(d) for d in codecs.open(sys.argv[1],"r","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
等等
答案 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])'