1.glob.glob()
glob.glob(root+"/*.png“)
#可以匹配root目录下所有的png文件。
2.以时间作为文件名
link: introduction to time module in python
import datetime
import os
SEQUENCE = datetime.datetime.now().strftime("%m%d-%H%M%S") # obtain current time
SAVED_MODEL_PATH = os.path.split(os.path.abspath(__file__))[0]+"/saved_model/"+SEQUENCE+'/' # path to save model
if not os.path.exists(os.path.split(os.path.abspath(__file__))[0]+"/saved_model/"):
os.mkdir(os.path.split(os.path.abspath(__file__))[0]+"/saved_model/")
if not os.path.exists(SAVED_MODEL_PATH):
os.mkdir(SAVED_MODEL_PATH)
# SAVED_MODEL_PATH为保存model的路径
3.记录时间
t = time.time()
print("encoding took " + str(time.time() - t) + 's')
4.pickle的使用 link
pickle提供了一个简单的持久化功能。可以将对象以文件的形式存放在磁盘上。python中几乎所有的数据类型(列表,字典,集合,类等)都可以用pickle来序列化,
# with open("test.txt", "wb") as fp: #Pickling
# pickle.dump(l, fp)
# with open("test.txt", "rb") as fp: # Unpickling
# b = pickle.load(fp)
pickle.dump(obj, file[, protocol])
#序列化对象,并将结果数据流写入到文件对象中。参数protocol是序列化模式,默认值为0,
#表示以文本的形式序列化。protocol的值还可以是1或2,表示以二进制的形式序列化。
pickle.load(file) #反序列化对象。将文件中的数据解析为一个Python对象。
5.tqdm link
from tqdm import tqdm
import time
例1:
for i in tqdm(range(1000)):
print(i)
例2:
with tqdm(total=100) as bar: # total表示预期的迭代次数
for i in range(100): # 同上total值
time.sleep(0.1)
bar.update(1) #每次更新进度条的长度
6.使用"."运算符访问字典
types.SimpleNamespace()
>> from types import SimpleNamespace
>>> d = {'a': 1, 'b':2}
>>> sn = SimpleNamespace(**d) # 这里的**不可以少,表示命名关键字参数
>>> sn #namespace(a=1, b=2)
>>> sn.a #1
7.判断一个数是否为2的整数幂 使用python常用的一些技巧
将n与n-1做按位与运算
if (scale & (scale - 1)) == 0:
print(“ok!”)