如何将此扩展到目标文件夹中的每个文件夹?你知道递归到所有子文件夹中的每个文件。
http://bazaar.launchpad.net/~sil/+junk/utility-programs/view/head:/u1-publish-folder
如何将此扩展到目标文件夹中的每个文件夹?你知道递归到所有子文件夹中的每个文件。
http://bazaar.launchpad.net/~sil/+junk/utility-programs/view/head:/u1-publish-folder
如果我正确理解了脚本和您的问题,您可以使用这样的 bash 行:
find /path/to/target-folder -type d -exec u1-publish-folder '{}' ';'
这将递归地找到目标文件夹下的所有文件夹并为它们调用 u1-publish-folder。
(但不包括目标文件夹,您必须为该文件夹调用一次)
如果您明确不希望脚本自行执行递归,请编辑您的问题 - 好吗?
如果您真的想修改脚本,则可以选择像这样编辑底部:(
是的,很抱歉重复发布,但这可以让它更干净)
if __name__ == '__main__':
if len(sys.argv) > 1:
folder = sys.argv[1]
else:
print "Syntax: %s folder" % sys.argv[0]
sys.exit(1)
folder = os.path.realpath(folder)
if not os.path.isdir(folder):
print "%s is not a folder. Terminating." % (folder,)
sys.exit(1)
# walk all directories inside `folder`
for (dirname, subdirs, files) in os.walk(folder):
subdir = os.path.realpath(dirname)
if not os.path.isdir(subdir):
continue
reactor.callWhenRunning(process_folder, subdir)
reactor.run()
This should do the same as my bash-based answer but with a simple call of u1-publish-folder target-folder.