Python工作日常操作

Print

Queue

import queue
a = queue.Queue()
a.put(1)
a.put('2222')
a.put('[1,2,3]')
a.put([1,2,3])
print(f"a-Queue: {a.queue}")

Yield

Recursively get specified type of files

def get_files(videofolder):
    for f in os.listdir(videofolder):
        if '.' not in f:
            yield from get_files(os.path.join(videofolder,f))
        else:
            yield os.path.join(videofolder,f)
path = "E:\RL"
myvideos = list(get_files(path))

这里的list(get_files(path))不能弄成[get_files(path)]. 这里是将yield 形成的generator转成list, 所以要用list(), 而不是为了接收yield的内容。

文件名排序

单一的数字排序

files.sort(key=lambda f: int(re.sub('\D', '', f)))

多个数字

thefiles = os.listdir(folder)
sorted(thefiles, key=lambda x: x.split('_'))

结果:

['03_25_11_56_2.npy',
 '03_25_12_36_2.npy',
'03_25_12_16_2.npy',
'03_25_12_56_2.npy,
'03_25_19_24_2.npy',
'03_26_21_22_2.npy',
'03_26_21_42_2.npy',
'03_26_22_22_2.npy',
'03_26_22_02_2.npy',
'03_27_13_57_2.npy',
'03_27_14_17_2.npy',
'03_27_15_00_2.npy', ]

Conda

新建环境

conda create -n myenv python=3.9

导出

先进入要导出的环境:

conda activate YOUR_ENV

再导出到文件“myenvironment.yml”

conda env export > myenvironment.yml

导进

conda env create -f myenvironment.yml

检查

需要等一下,有点慢

conda env list

删除

conda env remove -n ENV_NAME

Producer–Consumer

Producer

  • 往共用数据容器里添加数据
  • 需要额外的time.sleep()时间
  • 在强调时序的地方,需要用lock
  • 如果有内部更改变量需要返回的,要用join(),否则无限循环

Consumer

  • 从共用数据共享池里使用数据
  • 不需要额外的time.sleep()
  • 在强调时序的地方,需要用lock
  • 如果有内部更改变量需要返回的,要用join()否则无限循环
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值