常见代码

Posted lhuser

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了常见代码相关的知识,希望对你有一定的参考价值。

1.检测文件/目录 是否存在

from os.path import isfile, isdir
if not isdir(vgg_dir): raise Exception("VGG directory doesn‘t exist!") vgg_dir = tensorflow_vgg/ if not isdir(vgg_dir):   raise Exception("VGG directory doesn‘t exist!")

列出指定目录下的文件及遍历 目录名

import os
data_dir = flower_photos/
contents = os.listdir(data_dir)
print(contents)
classes = [each for each in contents if os.path.isdir(data_dir + each)]
print(classes)
[‘daisy‘, ‘dandelion‘, ‘LICENSE.txt‘, ‘roses‘, ‘sunflowers‘, ‘tulips‘]
[‘daisy‘, ‘dandelion‘, ‘roses‘, ‘sunflowers‘, ‘tulips‘]

 

 

2.进度条:

from tqdm import tqdm
from urllib.request import urlretrieve
class DLProgress(tqdm): # 继承tqdm类 last_block = 0 def hook(self, block_num=1, block_size=1, total_size=None): self.total = total_size self.update((block_num - self.last_block) * block_size) self.last_block = block_num with DLProgress(unit=B, unit_scale=True, miniters=1, desc=VGG16 Parameters) as pbar: ‘‘‘ urlretrieve(url, filename=None, reporthook=None, data=None)方法直接将远程数据下载到本地 filename指定了保存本地路径(如果参数未指定,urllib会生成一个临时文件保存数据。 reporthook是一个回调函数,当连接上服务器、以及相应的数据块传输完毕时会触发该回调,我们可以利用这个回调函数来显示当前的下载进度。 data指post导服务器的数据,该方法返回一个包含两个元素的(filename, headers) 元组,filename 表示保存到本地的路径,header表示服务器的响应头 ‘‘‘ urlretrieve( https://s3.amazonaws.com/content.udacity-data.com/nd101/vgg16.npy, vgg_dir + vgg16.npy, pbar.hook)

 

#!/usr/bin/env python
# coding=utf-8
import os
import urllib

def cbk(a,b,c):
    ‘‘‘回调函数
    @a:已经下载的数据块
    @b:数据块的大小
    @c:远程文件的大小
    ‘‘‘
    per=100.0*a*b/c
    if per>100:
        per=100
    print %.2f%% % per

url=http://www.python.org/ftp/python/2.7.5/Python-2.7.5.tar.bz2
dir=os.path.abspath(.)
work_path=os.path.join(dir,Python-2.7.5.tar.bz2)
urllib.urlretrieve(url,work_path,cbk)

技术分享图片

 

3.压缩和解压缩

import tarfile

dataset_folder_path = flower_photos

#先下载到当前目录 class DLProgress(tqdm): last_block = 0 def hook(self, block_num=1, block_size=1, total_size=None): self.total = total_size self.update((block_num - self.last_block) * block_size) self.last_block = block_num if not isfile(flower_photos.tar.gz): with DLProgress(unit=B, unit_scale=True, miniters=1, desc=Flowers Dataset) as pbar: urlretrieve( http://download.tensorflow.org/example_images/flower_photos.tgz, flower_photos.tar.gz, pbar.hook)
#下载到当前目录后解压缩到当前目录
if not isdir(dataset_folder_path): with tarfile.open(flower_photos.tar.gz) as tar: tar.extractall() tar.close()

 





以上是关于常见代码的主要内容,如果未能解决你的问题,请参考以下文章

Android 实用代码片段

Android 实用代码片段

使用 Git 来管理 Xcode 中的代码片段

13 个非常有用的 Python 代码片段

几条jQuery代码片段助力Web开发效率提升

覆盖一个常见的片段帮助其他标签片段