我有一个满是子目录的目录。
我想做的是编写一个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 os
和os.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()