Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
PaddleHub
提交
51aecd72
P
PaddleHub
项目概览
PaddlePaddle
/
PaddleHub
1 年多 前同步成功
通知
283
Star
12117
Fork
2091
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
200
列表
看板
标记
里程碑
合并请求
4
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
PaddleHub
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
200
Issue
200
列表
看板
标记
里程碑
合并请求
4
合并请求
4
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
51aecd72
编写于
4月 11, 2019
作者:
W
wuzewu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add clear command
上级
9740ead0
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
96 addition
and
0 deletion
+96
-0
paddlehub/commands/__init__.py
paddlehub/commands/__init__.py
+1
-0
paddlehub/commands/clear.py
paddlehub/commands/clear.py
+95
-0
未找到文件。
paddlehub/commands/__init__.py
浏览文件 @
51aecd72
...
...
@@ -21,4 +21,5 @@ from . import install
from
.
import
uninstall
from
.
import
search
from
.
import
help
from
.
import
clear
from
.
import
hub
paddlehub/commands/clear.py
0 → 100644
浏览文件 @
51aecd72
# Copyright (c) 2019 PaddlePaddle 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.
from
__future__
import
absolute_import
from
__future__
import
division
from
__future__
import
print_function
import
os
from
paddlehub.commands.base_command
import
BaseCommand
from
paddlehub.common.dir
import
CACHE_HOME
def
file_num_in_dir
(
dirname
):
cnt
=
1
if
os
.
path
.
isdir
(
dirname
):
for
subfile
in
os
.
listdir
(
dirname
):
subfile
=
os
.
path
.
join
(
dirname
,
subfile
)
cnt
+=
file_num_in_dir
(
subfile
)
return
cnt
def
file_size_in_human_format
(
size
):
size
=
float
(
size
)
if
size
<
1024
:
return
"%.1fB"
%
size
elif
size
<
1024
*
1024
:
return
"%.1fK"
%
(
size
/
1024
)
elif
size
<
1024
*
1024
*
1024
:
return
"%.1fM"
%
(
size
/
(
1024
*
1024
))
else
:
return
"%.1fG"
%
(
size
/
(
1024
*
1024
*
1024
))
class
ClearCommand
(
BaseCommand
):
name
=
"clear"
def
__init__
(
self
,
name
):
super
(
ClearCommand
,
self
).
__init__
(
name
)
self
.
show_in_help
=
True
self
.
description
=
"Clear all cache data."
def
cache_dir
(
self
):
return
CACHE_HOME
def
exec
(
self
,
argv
):
result
=
True
total_file_size
=
0
total_file_count
=
0
for
rootdir
,
dirs
,
files
in
os
.
walk
(
self
.
cache_dir
(),
topdown
=
False
):
for
filename
in
files
:
filename
=
os
.
path
.
join
(
rootdir
,
filename
)
try
:
file_size
=
os
.
path
.
getsize
(
filename
)
file_count
=
file_num_in_dir
(
filename
)
os
.
remove
(
filename
)
total_file_size
+=
file_size
total_file_count
+=
file_count
except
Exception
as
e
:
result
=
False
for
dirname
in
dirs
:
dirname
=
os
.
path
.
join
(
rootdir
,
dirname
)
try
:
dir_size
=
os
.
path
.
getsize
(
dirname
)
file_count
=
file_num_in_dir
(
dirname
)
os
.
rmdir
(
dirname
)
total_file_size
+=
dir_size
total_file_count
+=
file_count
except
Exception
as
e
:
result
=
False
if
total_file_count
!=
0
:
print
(
"Clear %d cached files."
%
total_file_count
)
print
(
"Free disk space %s."
%
file_size_in_human_format
(
total_file_size
))
else
:
if
result
:
print
(
"No cache to release."
)
else
:
print
(
"Clear cache failed!"
)
return
result
command
=
ClearCommand
.
instance
()
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录