0

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

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

例如:

directories = ['apple', 'orange', 'banana']

for fruit in directories:

# 1) create subdirectory called "files"
# 2) Populate "files" with file1, file2, file3

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

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

4

3 回答 3

1

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

于 2013-07-02T15:25:15.593 回答
0

Python os模块拥有创建目录所需的一切,尤其是os.mkdir().

您没有在这些文件中说出您想要的内容。如果您想要另一个(“模板”)文件的副本,请使用shutil.copy() 如果您想创建一个新文件并从脚本中写入,内置open()就足够了。

这是一个示例(请注意,它假定“fruit”目录已存在于当前目录中,并且子目录“files”尚不存在):

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()
于 2013-07-02T15:26:45.333 回答
0

使用 pythonimport os并且 os.system('command_to_run_in_shell') 你准备好了!

于 2013-07-02T15:27:53.953 回答