FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
TensorFlow.NET/src/TensorFlowNET.Core/IO/gfile.cs at master · murmansoft/TensorFlow.NET · GitHub
murmansoft
/
TensorFlow.NET
Public
forked from
SciSharp/TensorFlow.NET
Notifications
You must be signed in to change notification settings
Fork
0
Star
0
Code
Pull requests
0
Actions
Projects
Security and quality
0
Insights
Additional navigation options
Code
Pull requests
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
TensorFlow.NET
/
src
/
TensorFlowNET.Core
/
IO
/
gfile.cs
Copy path
More file actions
More file actions
Latest commit
History
History
History
79 lines (67 loc) · 2.77 KB
Breadcrumbs
TensorFlow.NET
/
src
/
TensorFlowNET.Core
/
IO
/
gfile.cs
Copy path
File metadata and controls
79 lines (67 loc) · 2.77 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
/*****************************************************************************
Copyright 2018 The TensorFlow.NET Authors. All Rights Reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
******************************************************************************/
using
System
;
using
System
.
Collections
.
Generic
;
using
System
.
Diagnostics
;
using
System
.
IO
;
using
System
.
Linq
;
using
static
Tensorflow
.
Binding
;
namespace
Tensorflow
.
IO
{
public
class
GFile
{
/// <summary>
/// Recursive directory tree generator for directories.
/// </summary>
/// <param name="top">a Directory name</param>
/// <param name="in_order">Traverse in order if True, post order if False.</param>
public
IEnumerable
<
(
string
,
string
[
]
,
string
[
]
)
>
Walk
(
string
top
,
bool
in_order
=
true
)
{
if
(
!
Directory
.
Exists
(
top
)
)
return
Enumerable
.
Empty
<
(
string
,
string
[
]
,
string
[
]
)
>
(
)
;
return
walk_v2
(
top
,
in_order
)
;
}
private
IEnumerable
<
(
string
,
string
[
]
,
string
[
]
)
>
walk_v2
(
string
top
,
bool
topdown
)
{
var
subdirs
=
Directory
.
GetDirectories
(
top
)
;
var
files
=
Directory
.
GetFiles
(
top
)
;
var
here
=
(
top
,
subdirs
,
files
)
;
if
(
subdirs
.
Length
==
0
)
yield
return
here
;
else
foreach
(
var
dir
in
subdirs
)
foreach
(
var
f
in
walk_v2
(
dir
,
topdown
)
)
yield
return
f
;
}
public
string
[
]
listdir
(
string
data_dir
)
=>
Directory
.
GetDirectories
(
data_dir
)
.
Select
(
x
=>
x
.
Split
(
Path
.
DirectorySeparatorChar
)
.
Last
(
)
)
.
ToArray
(
)
;
public
string
[
]
glob
(
string
data_dir
)
{
var
dirs
=
new
List
<
string
>
(
)
;
foreach
(
var
dir
in
Directory
.
GetDirectories
(
data_dir
)
)
dirs
.
AddRange
(
Directory
.
GetFiles
(
dir
)
)
;
return
dirs
.
ToArray
(
)
;
}
public
string
join
(
params
string
[
]
paths
)
{
Debug
.
Assert
(
paths
.
Length
>=
1
)
;
if
(
paths
[
0
]
.
Substring
(
1
)
.
Contains
(
"://"
)
)
{
throw
new
NotImplementedException
(
"The combination of urls has not been implemented."
)
;
}
return
Path
.
Combine
(
paths
)
;
}
}
}
Back
|
FazBrowse Home
|
New Git URL