如何遍历特定文件夹

时间:2018-05-17 06:35:25

标签: go

我有以下目录结构

<!DOCTYPE html>
<html>

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.26/angular.min.js"></script>


<div ng-app="" ng-controller="cntryController">


    <table cellspacing="10" cellpadding="10">
        <tr>
            <th>Config Name</th>
            <th>Config Value</th>
        </tr>
        <tr ng-repeat="changed_config in changed_configs">
            <td>
                <input type="text" class="form-control" ng-model="changed_config.name" list="names" ng-change="test(changed_config.name, $index)">                
                <datalist id="names">
                    <option ng-repeat="option in configs | filter:search | limitTo:30" value={{option.name}}>{{option.name}}
                    </option>
                </datalist>
            </td>
            <td>
                <input type="text" class="form-control" ng-model="changed_config.id"/>
            </td>
        
        </tr>
        

    </table>
    <div class="row">
            <button type="button" id="add-reward-grp-btn" ng-click="addConfig()" class="btn btn-primary">Add Config</button>
        </div>

</div>

</html>

我想遍历dev和prod中的所有文件。

我尝试过以下

data_json.protocol.protocol_body["Group2"]={"New Group":{"group_name": "test group2"}}

有没有更好的方法呢?我唯一的要求是“我想遍历除了以点(。)开头的目录以外的根目录中的顶级目录(dev和prod)

更清楚:

  • 在输出中我想要
    • 开发的所有文件,目录,子目录
    • prod的所有文件,目录,子目录
  • 我不想要的东西
    • 除dev和prod之外的任何root用户(如.git)
    • root的任何文件(如codeowner或readme)

1 个答案:

答案 0 :(得分:0)

使用filepath.Glob

这将获取foo目录中相对于您的工作目录的所有文件:

matches, err := filepath.Glob("./foo/*")
if err != nil {
    panic(err.Error())
}

for _, match := range matches {
    fmt.Printf("Got match: %s\n", match)
}

Playground

在您的情况下,您使用filepath.Glob("./dev/*")filepath.Glob("./prod/*")。 Go的实施并不支持&#34;双星指令&#34;但是对于递归的globs,所以你必须自己处理子目录。