0

如何将此扩展到目标文件夹中的每个文件夹?你知道递归到所有子文件夹中的每个文件。

http://bazaar.launchpad.net/~sil/+junk/utility-programs/view/head:/u1-publish-folder

4

2 回答 2

0

如果我正确理解了脚本和您的问题,您可以使用这样的 bash 行:

find /path/to/target-folder -type d -exec u1-publish-folder '{}' ';'

这将递归地找到目标文件夹下的所有文件夹并为它们调用 u1-publish-folder。
(但不包括目标文件夹,您必须为该文件夹调用一次)
如果您明确不希望脚本自行执行递归,请编辑您的问题 - 好吗?

于 2013-02-19T14:15:25.867 回答
0

如果您真的想修改脚本,则可以选择像这样编辑底部:(
是的,很抱歉重复发布,但这可以让它更干净)

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.

于 2013-02-19T14:38:11.877 回答