python函数使用笔记

1.range和xrange的区别:

参考:https://blog.youkuaiyun.com/wangyajie_11/article/details/68060133
函数的使用方法基本相同,建议使用xrange,优点是节省内存空间,在Python 3中,range()与xrange()合并为range( )

2.glob.glob()函数:

参考:https://blog.youkuaiyun.com/mantoureganmian/article/details/47949101
glob.glob的参数是一个只含有方括号、问号、正斜线的正则表达式,同时也是shell命令
例如:获取filepath文件内的所有bmp文件

import glob
import tensorflow as tf

batch_size = 8

filepath='filepath0/*.bmp'
imgpath_list = glob.glob(filepath)    #返回值为list对象
imgpath_tensro= tf.convert_to_tensor(imgpath_list,dtype=tf.string)

if true:
	filename_queue = tf.train.slice_input_producer([img_path],num_epochs=1,shuffle=True) #或shuffle=False
	file_contents = tf.read_file(filename_queue[0])
	img = tf.image.decode_bmp(file_contents)	
else:
	filename_queue = tf.train.string_input_producer(img_path,num_epochs=1,shuffle=True) #或shuffle=False
    key,value = tf.WholeFileReader().read(filename_queue)
    img = tf.image.decode_bmp(value)
    
img = tf.image.resize_images(img,size=(100,100))
image_batch = tf.train.batch([img],batch_size=batch_size)
#或者
#min_after_dequeue = 100
#num_threads = 2
#capacity = min_after_dequeue + (num_threads + 4) * batch_size
#image_batch = tf.train.shuffle_batch([img],batch_size=batch_size,capacity=capacity,min_after_dequeue=min_after_dequeue,num_threads=num_threads))

3. logging使用

参考:https://www.jianshu.com/p/feb86c06c4f4

自定义封装log_init.py函数文件

# -*- coding:utf-8 -*-
import os
import logging
def log_init(log_dir='./logs',log_fname='train.log'):
    if not os.path.exists(log_dir):
        os.makedirs(log_dir)
    logging.basicConfig(filename = os.path.join(log_dir, log_fname), filemode = 'w', level = logging.INFO)
    logging.getLogger().addHandler(logging.StreamHandler())

调用logging使用

from config import args
import log_init
import logging

def main():
    log_init(log_dir=args.log_path, log_fname='train_data.log')
    logging.info('args:{}\t'.format(args))
    #....
    
if __name__ == '__main__':
    import time
    s = time.time()
    main()
    e = time.time()
    logging.info('total cost time: {:.2f}\t'.format(e - s))

4. str.format使用

参考:https://www.runoob.com/python/att-string-format.html

5.str 反转

参考:https://www.jb51.net/article/135153.htm

s = 'abcde'
s[::-1]

6.str split

参考:https://www.runoob.com/python/att-string-split.html

s = 'abcde/5555/6'
s_list = s.split('/') #拆分所有
#s_list = ['abcde','5555','6']
s_list = s.split('/') #仅拆分1次
#s_list = ['abcde','5555/6']

7.os使用

参考:https://www.cnblogs.com/MisterZhang/p/9134709.html

#创建目录
os.mkdir(path)
os.makedirs(path)
#删除目录
os.rmdir(path)
os.removdirs(path)
#删除文件
os.remov(path)
#遍历目录
os.walk(path)
#其参数path 为要遍历的目录,遍历path,返回一个对象,他的每个部分都是一个三元组 ('目录x',[目录x下的目录list],目录x下面的文件)
#判断是否为目录
os.path.isdir(path)  #其参数 path为 要进行判断的路径。如果是则返回TRUE,否则返回FALSE。
#判断是否为文件
os.path.isfile(path) #其参数path为要进行判断的路径。如果是则返回TRUE,否则返回FALSE。

待续…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿尔发go

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值