python常用编程代码大全_DL编程常用python命令合集

91244caf6ea2d28762c10f4d37ed4a7c.png

1. 列表list操作

排序

2. 文件相关的操作

路径和文件名分离

文件复制

glob获取文件绝对路径

前缀后缀判断

3. 字符串str操作

分割切片

4. 其他问题

自定义的py文件import后找不到路径

5. 注意事项

文件命名

6. 一些操作合集

判断数据类型

集合set

利用bool矩阵进行索引

执行字符串表达式

filter()过滤序列

1. 列 表lis t操 作

排序

注意 :文件夹读取相关的最好都先排序,否则zip排序出BUG不好找

文件读取list往往为乱序的,为了将img和xml对应,可以对两个list都采用排序函数

如 img_files.sort(),然后再将两者zip后进行遍历。

list.sort( )(返回值为None, 可传递参数reverse=True逆序排序)

sorted( list )

2. 文 件相关的操作

路径和文件名分离

方法:

os.path.split( )

os.path.splitext( )

例子:

file_path = "D:/test/test.py"

(filepath,tempfilename) = os.path.split(file_path)

('D:/test', 'test.py')

(filename,extension) = os.path.splitext(tempfilename) ('test',

'.py')

文件复制

import shutil

shutil.copyfile('C: \1.txt' , 'D: \1.txt')

glo b 获 取文件绝对路径

files = sorted( glob.glob( os.path.join( path, ' *. ' ) ) )

'.'是匹配项,可替换为.jpg .txt等制定特定类型,,从而简单获取特定类型的文件绝

对路径。 参考链接 :https://www.jianshu.com/p/542e55b29324

前缀后缀判断

str.startswith( 'this' )

str.endswith('.jpg')

3. 字 符串str 操 作

分割切片

在str中去掉字符‘a’:

str.strip('a')

str以所有的 'a' 字符为界进行切割返回切片,注意'a'也没有了

str.split('a')

4. 其 他问题

自定义的py文 件im port后 找不 到路径

多半是 __init__.py 文件文件没写或者不对, 入口

5. 注 意事项

文件命名

py文件起名不要和pip package一样 ,不然运行的时候会报错,找都找不到(因为

import的时候会优先从本地import而不是pip)

6. 一 些操作合集

判断数据类型

isinstance(feature_maps,list)

集合se t

利用好set的操作可以简化程序,并且加速运算,如交并补差等,参加: set指令大全

但是注意: 集合中的元素不会有重复 !!

a=[ 1,1,2,3,4,5,5]

b=set (a)

b

{1, 2, 3, 4, 5}

利 用bool矩 阵进行索引

(1) i = ( pred [:, 4] > conf_thres ) & ( pred [:, 2:4] >

min_wh ). all (1) & torch .isfinite (pred ). all (1) pred =

pred [i]

(2) class_conf = class_conf [i]

(3)dc = pred [pred [:, -1] == c] # select class c

多说一句,pytorch的torch.where支持很多运算了,实在没有再用bool判断(因为这个可能导致梯度计算的矛盾)

执行字符串表达式

eval()和exec()

使用场景:

1.字符串计算式是无法别识别成我们常用的float型的,所以如配置文件等地读取出

来是个字符串,使用eval()可以直接将字符串进行计算得到结果。

2.需要在程序中调用执行命令

区别:可以看出,eval和exec相似度很高,都是执行字符串表达式,但是 eval() 是

一个函数,需要变量来接收函数的执行结果;而exec()的字符串内部变量和外界相

同,可以直接执行,返回None.

*号省略变量

单引号为多变量, ** 为多元素字典变量,例如:

for i, (*pbox, pconf, pcls_conf, pcls) in enumerate(pred)

特殊:多返回值的忽略

img, *_ = letterbox(img0, new_shape=self.img_size)

filt e r()过 滤序列

filter(function, iterable)

将可迭代对象传入这个函数,然后内部逐个将迭代器迭代到函数中,返回bool迭代

器。俩字好用,参考 教程(https://www.runoob.com/python3/python3-func-filter.html) 。给个例子:

def is_odd(n):

return n % 2 == 1

tmplist = filter(is_odd, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])

newlist = list(tmplist)

print(newlist)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值