概述
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)
最后
以上就是缓慢汽车为你收集整理的DL编程常用python命令合集1. 列 表lis t操 作2. 文 件相关的操作3. 字 符串str 操 作4. 其 他问题5. 注 意事项6. 一 些操作合集执行字符串表达式的全部内容,希望文章能够帮你解决DL编程常用python命令合集1. 列 表lis t操 作2. 文 件相关的操作3. 字 符串str 操 作4. 其 他问题5. 注 意事项6. 一 些操作合集执行字符串表达式所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复