循环浏览目录列表以生成子目录



我有一个满是子目录的目录。

我想做的是编写一个Python脚本,该脚本循环通过每一个子目录,为每个子目录创建一个额外的子目录并填充它有三个文件。

例如:

directories = ['apple', 'orange', 'banana']
for fruit in directories:
# 1) create subdirectory called "files"
# 2) Populate "files" with file1, file2, file3

我熟悉在终端的命令行(Mac)上创建目录和文件但我不知道如何从Python中调用这些命令。

我非常感谢关于这些命令的外观以及如何使用它们的建议。

您可以通过使用内置函数os.path.walk(遍历目录树)和os.mkdir(实际创建目录)来实现您想要的功能。

使用python import osos.system('command_to_run_in_shell')你已经准备好出发了!!

Python操作系统模块具备创建目录所需的全部功能,尤其是os.mkdir()

你没有在那些文件里说你想要什么。如果您想要另一个("template")文件的副本,请使用shutil.copy()。如果您想创建一个新文件并从脚本中写入,那么内置的open()就足够了。

这里有一个例子(注意,它假设"水果"目录已经存在于当前目录中,并且子目录"文件"还不存在):

import os
import shutil
directories = ['apple', 'orange', 'banana']
for fruit in directories:
    os.mkdir("%s/files" % fruit)
    with open("%s/files/like" % fruit, "w") as fp:
        fp.write("I like %ss" % fruit)
    fp.close()
    with open("%s/files/hate" % fruit, "w") as fp:
        fp.write("I hate %ss" % fruit)
    fp.close()
    with open("%s/files/dont_care_about" % fruit, "w") as fp:
        fp.write("I don't care about %ss" % fruit)
    fp.close()

最新更新