python
希哈科技
希哈科技 (XIHA) 致力于成为全球领先的AIoT产品与技术服务解决方案提供商。把 “赋能万物,机器智能” 作为核心价值观。相信所秉承的 “星球万物,智慧物联” 的使命,会持续为客户创造长期价值。
展开
-
python读写json文件
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C、C++、Java、JavaScript、Perl、Python等)。这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率)。...转载 2020-04-16 15:12:42 · 146 阅读 · 0 评论 -
浅析Python中的main函数
Python作为一门较为灵活的解释型脚本语言,其中定义的main()函数只有当该Python脚本直接作为执行程序时才会执行;当该python脚本被作为模块(module)引入(import)时,其中的main()函数将不会被执行。这是由于两方面原因,一方面,main函数是所有执行程序的入口;另一方面,python的解释器是顺序执行脚本的并且不会调用任何不属于程序本身的代码和函数,需要...转载 2020-04-16 15:11:50 · 278 阅读 · 0 评论 -
python3 实现对图片进行局部切割的方法
先拿个图片举例子,比如说截取途中方框内的图片: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 # 导入相关的库 from PIL import Image # 打...转载 2019-10-30 10:18:41 · 1284 阅读 · 0 评论 -
python bytes与字符串的相互转化
代码:# bytes转字符串方式一b=b'\xe9\x80\x86\xe7\x81\xab'string=str(b,'utf-8')print(string)# bytes转字符串方式二b=b'\xe9\x80\x86\xe7\x81\xab'string=b.decode() # 第一参数默认utf8,第二参数默认strictprint(string)# byte...转载 2019-05-16 18:03:46 · 2605 阅读 · 0 评论 -
python的字符串截取
str = ‘0123456789’print str[0:3] #截取第一位到第三位的字符print str[:] #截取字符串的全部字符print str[6:] #截取第七个字符到结尾print str[:-3] #截取从头开始到倒数第三个字符之前print str[2] #截取第三个字符print str[-1] #截取倒数第一个字符print str[::-1] #创造一...转载 2019-05-16 18:02:31 · 157 阅读 · 0 评论 -
Python创建目录文件夹
Python对文件的操作还算是方便的,只需要包含os模块进来,使用相关函数即可实现目录的创建。主要涉及到三个函数1、os.path.exists(path)判断一个目录是否存在2、os.makedirs(path)多层创建目录3、os.mkdir(path)创建目录DEMO直接上代码 1 2 3 4 5 6 7...转载 2019-05-16 18:01:34 · 206 阅读 · 0 评论 -
小而美的 Python 格式化工具--black
Black号称不妥协的代码格式化工具,为什么叫不妥协呢?因为它检测到不符合规范的代码风格直接就帮你全部格式化好,根本不需要你确定,直接替你做好决定。它也是 requests 作者最喜欢的工具之一.使用非常简单,安装成功后,和其他系统命令一样使用,只需在 black 命令后面指定需要格式化的文件或者目录就ok。1、安装:2、使用这是一款小而美的工具,它并不是完全按照 PEP8 规范来...转载 2019-05-16 16:54:55 · 252 阅读 · 0 评论 -
python获取文件和文件夹大小
@1.获取文件大小使用os.path.getsize函数,参数是文件的路径。@2.获取文件夹大小,即遍历文件夹,将所有文件大小加和。遍历文件夹使用os.walk函数import osfrom os.path import join, getsizedef getdirsize(dir): size = 0L for root, dirs, files in os.w...转载 2019-05-10 17:13:17 · 1571 阅读 · 0 评论 -
datetime.timedelta类介绍
datetime.timedelta对象代表两个时间之间的时间差,两个date或datetime对象相减就可以返回一个timedelta对象。如果有人问你昨天是几号,这个很容易就回答出来了。但是如果问你200天前是几号,就不是那么容易答出来。而在Python中datetime模块中的timedelta就可以很轻松给出答案。函数原型:class datetime.timedelta([d...转载 2019-05-10 17:02:57 · 2722 阅读 · 2 评论 -
Sentry - 处理异常日志的正确姿势
今天的主角是当今比较流行的异常记录框架 - Sentry,来了解一下。关于日志管理应用越做越复杂,输出日志五花八门,有print的,有写stdout的,有写stderr的, 有写logging的,也有自定义xxx.log的。那么这将导致平台应用日志分布在各个地方,无法统一管理。而且可能用的还不止一种开发语言,想规范和统一日志不是一件容易的事。为什么使用SentrySentry是一个...转载 2019-05-14 10:58:31 · 1446 阅读 · 0 评论 -
Ubuntu18.04TLS 中终端(Terminal)无法打开的解决办法!!!,坑爹啊
前几天把系统自带的python3.5升级到python3.6.5后就关闭了系统,结果今天打开电脑发现终端怎么也打不开了,于是从网上找了一些解决办法,终于找到一和自己类似情况的解决办法终端无法打开的解决办法。作者写的很详细,这里我说一下一些操作的注意事项(这些情况是我在操作的时候遇到的,虽然可能很弱者,但是真的很浪费时间。)(1)当终端不能用的时候我们又要命令行怎么办?...转载 2019-04-19 10:37:06 · 9880 阅读 · 2 评论 -
Ubuntu16.04下Anaconda3的安装
anaconda指的是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项。可以帮助python开发者省去很多安装科学包的工作。下面我们就来简单介绍如何在Ubuntu16.04环境下安装Anaconda3。首先,去Anaconda的下载地址下载对应python版本的Anaconda安装文件。(我这里下载的是python3.6的版本)下载完成后,才命令...转载 2019-04-18 18:22:16 · 290 阅读 · 0 评论 -
Python中对变量是否为None的判断
三种主要的写法有:第一种:if X is None;第二种:if not X;当X为None, False, 空字符串"", 0, 空列表[], 空字典{}, 空元组()这些时,not X为真,即无法分辨出他们之间的不同。第三种:if not X is None;在Python中,None、空列表[]、空字典{}、空元组()、0等一系列代表空和无的对象会被转换成Fal...转载 2019-05-30 13:59:27 · 13746 阅读 · 0 评论 -
python返回多个返回值
返回多个值函数可以返回多个值吗?答案是肯定的。比如在游戏中经常需要从一个点移动到另一个点,给出坐标、位移和角度,就可以计算出新的新的坐标:import mathdef move(x, y, step, angle=0): nx = x + step * math.cos(angle) ny = y - step * math.sin(angle) retu...转载 2019-05-30 14:01:24 · 3882 阅读 · 0 评论 -
Python 中logging使用指南
记录日志是追踪事件的一种手段。通过添加日志,开发者可以清楚地了解发生了哪些事件,包括出现了哪些错误。logging 模块提供了一系列便捷的函数,用于简单的日志记录。它们分别是 debug(), info(), warning(), error() 和 critical()。1. 简单例子:import logging # 创建一个logger logger = logging.ge...转载 2019-08-02 17:36:21 · 794 阅读 · 0 评论 -
python判断文件存在的三种方法
目录1.使用os模块 判断文件是否可做读写操作 2.使用Try语句 3. 使用pathlib模块正文通常在读写文件之前,需要判断文件或目录是否存在,不然某些处理方法可能会使程序出错。所以最好在做任何操作之前,先判断文件是否存在。这里将介绍三种判断文件或文件夹是否存在的方法,分别使用os模块、Try语句、pathlib模块。回到顶部1.使用os模块os模块中的o...转载 2019-07-15 15:53:03 · 214 阅读 · 0 评论 -
python随机读取文件指定行
import linecacheimport random# 读取random模块的源文件的第3行print(linecache.getline(random.__file__, 3))# 读取本程序的第3行print(linecache.getline('linecache_test.py', 3))# 读取普通文件的第2行print(linecache.getlin...转载 2019-07-15 15:39:22 · 716 阅读 · 0 评论 -
判断python字典中key是否存在的两种方法
今天来说一下如何判断字典中是否存在某个key,一般有两种通用做法,下面为大家来分别讲解一下:第一种方法:使用自带函数实现。在python的字典的属性方法里面有一个has_key()方法,这个方法使用起来非常简单。例: 1 2 3 4 5 #生成一个字典 d={'name':{},'age':{},'sex':{}}...转载 2019-07-15 14:43:41 · 6377 阅读 · 0 评论 -
python中self和cls的区别
1、self表示一个具体的实例本身。如果用了staticmethod,那么就可以无视这个self,将这个方法当成一个普通的函数使用。2、cls表示这个类本身。>>> class A(object): def foo1(self): print "Hello",self @staticmethod def ...转载 2019-06-27 14:14:21 · 919 阅读 · 0 评论 -
python进阶大全,墙裂推荐
关键字is 和 == 的区别a = 'hello world'b = 'hello world'a == b #返回Truea is b #返回False注意:is 判断是否是一个ID, == 判断内容是否一致。深拷贝和浅拷贝import copya = [1,2,3,4,5]b = a #浅拷贝,a,b同时指向一个id,当其中一个修改时,另外一个也会被修改。c ...转载 2019-06-27 14:13:04 · 282 阅读 · 0 评论 -
Python判断文件是否存在的三种方法
目录1.使用os模块 判断文件是否可做读写操作 2.使用Try语句 3. 使用pathlib模块正文通常在读写文件之前,需要判断文件或目录是否存在,不然某些处理方法可能会使程序出错。所以最好在做任何操作之前,先判断文件是否存在。这里将介绍三种判断文件或文件夹是否存在的方法,分别使用os模块、Try语句、pathlib模块。回到顶部1.使用os模块os模块中的o...转载 2019-06-27 14:08:07 · 541 阅读 · 0 评论 -
Python之统计程序运行耗时
思路:程序开始前后各记录一个时间点,两个时间点相减即程序运行耗时时间方法1:普通计算方法import timeimport sysimport osstart_time = time.clock()time.sleep(5)stop_time = time.clock()cost = stop_time - start_timeprint("%s cost %s se...转载 2019-06-26 09:23:31 · 6577 阅读 · 1 评论 -
python序列和字符串相互转换
学习内容:1.字符串转列表2.列表转字符串1. 字符串转列表str1 = "hi hello world"print(str1.split(" "))输出:['hi', 'hello', 'world']2. 列表转字符串l = ["hi","hello","world"]print(" ".join(l))输出:hi hello world...转载 2019-06-26 09:08:41 · 3016 阅读 · 0 评论 -
Ubuntu16.04更新python3.5到python3.7
命令:下载wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1rc2.tgz解压tar zxvf Python-3.7.1rc2.tgzcd Python-3.7.1rc2编译./configuremakemake install先找的python3.7解释器位置,一般是/usr/local/bin/...转载 2019-04-18 18:18:07 · 962 阅读 · 2 评论 -
Ubuntu下python3 安装 pip 和 Django
Ubuntu系统内置python2.7,如果你安装pip使用sudo apt-get install python-pip那么,你仅仅是在内置的python2.7里面安装了pip,你下载的python3 在调用pip的时候会提醒你can't open file 'pip'所以我们需要在python3里面安装pipsudo apt-get install python3-pip你...转载 2019-04-18 18:16:37 · 858 阅读 · 0 评论 -
Python代码规范(PEP8)问题及解决
最近刚刚接触Python,为了养成好习惯,尽量保证自己写的代码符合PEP8代码规范,下面是过程中报出的警告及解决方法,英文有些翻译不太准确见谅,会不断更新:PEP 8: module level import not at top of file解决:import不在文件的最上面,可能引用之前还有代码,把import引用放到文件的最上部就可以消除警告了。PEP 8: expected 2...转载 2019-04-26 16:33:31 · 297 阅读 · 0 评论 -
python中hasattr()、getattr()、setattr()函数的使用
引言: 在阅读高手写的代码时,有很多简写的形式,如果没有见过还真的看不太懂是什么意思,其中一个比较常用的就是getattr()用来调用一个类中的变量或者方法,相关联的hasattr()、getattr()、setattr()函数的使用也一并学习了一下;正文: 1. hasattr(object, name) 判断object对象中是否存在name属性,当然对于pytho...转载 2019-04-26 16:27:45 · 156 阅读 · 0 评论 -
python 异步IO
目录简单了解定义一个协程(不同于上面的实例)创建一个任务(对协程进一步封装,可以查看状态等)绑定回调add_done_callback我也可以不使用回调函数,单纯获取返回值阻塞和await并发:使用gather或者wait可以同时注册多个任务,实现并发协程嵌套,将多个协程封装到一个主协程中协程停止上面讨论的都是在同一线程下的事件循环,下面来谈谈不同线程的事件循环 同一线程: 不同线程事件...转载 2019-04-26 16:12:53 · 2033 阅读 · 0 评论 -
python _、__和__xx__的区别
本文为译文,版权属于原作者,在此翻译为中文分享给大家。英文原文地址:Difference between _, __ and __xx__ in Python"_"单下划线Python中不存在真正的私有方法。为了实现类似于c++中私有方法,可以在类的方法或属性前加一个“_”单下划线,意味着该方法或属性不应该去调用,它并不属于API。在使用property时,经常出现这个问题:...转载 2019-04-26 16:10:46 · 219 阅读 · 0 评论 -
git submodule的使用(.gitmodules文件子模块加载)
转自:http://webfrogs.me/2013/03/20/git-submodule/开发过程中,经常会有一些通用的部分希望抽取出来做成一个公共库来提供给别的工程来使用,而公共代码库的版本管理是个麻烦的事情。今天无意中发现了git的git submodule命令,之前的问题迎刃而解了。添加为当前工程添加submodule,命令如下:git submodule add 仓库...转载 2019-04-26 16:05:37 · 1088 阅读 · 0 评论 -
python2.7 cv2学习笔记
例:import cv2videoCapture=cv2.VideoCapture(path)#读取本地视频rtsp地址(例海康)address=rtsp://admin:账号@地址:端口号/Streaming/tracks/摄像头号码?starttime=视频日期t视频起始时间z&endtime=视频日期t视频终止时间videoCapture = cv2.VideoC...转载 2019-04-26 16:01:32 · 718 阅读 · 0 评论 -
pytho ffmpeg使用
django使用ffmpeg进行视频流的切换文章目录1. 安装ffmpeg2. 安装ffmpy3. ffmpy简单的命令,在系统环境下执行:4. ffmpy的简单使用5.编码格式的转换1. 安装ffmpegsudo add-apt-repository ppa:kirillshkrogalev/ffmpeg-nextsudo apt-get updatesudo apt-g...转载 2019-04-26 15:58:01 · 601 阅读 · 0 评论 -
ubuntu18.04 systemctl
声明:本文转载自:systemd (中文简体)systemd 是 Linux 下的一款系统和服务管理器,兼容 SysV 和 LSB 的启动脚本。systemd 的特性有:支持并行化任务;同一时候採用 socket 式与D-Bus总线式激活服务;按需启动守护进程(daemon)。利用 Linux 的cgroups监视进程;支持快照和系统恢复。维护挂载点和自己主动挂载点。各服务间基于依赖关...转载 2019-04-26 15:52:39 · 9879 阅读 · 0 评论 -
Ubuntu 18.04 + Anaconda 5.2 + Pycharm
Anaconda安装step1:Anaconda下载:下载链接:https://www.continuum.io/downloads#linuxAnaconda和Python版本是对应的,所以需要选择安装对应Python2.7版本的还是Python3.6版本的,根据自己的需要下载合适的安装包。如果ubuntu系统是64bit,记得下载64bit的:step2:Anaconda安装:...转载 2019-04-17 16:40:10 · 439 阅读 · 0 评论 -
python的partial()用法说明
在functools模块中有一个工具partial(),可以用来"冻结"一个函数的参数,并返回"冻结"参数后的新函数。很简单的解释,也是官方手册给的示例。对于int()函数,它可以将给定的数值转换成十进制整数,转换时可以指定以几进制的方式解析给定的数。例如:#以10进制解析123,并转换成10进制整数>>>int("123")123#以2进制解析10101...转载 2019-04-17 16:36:53 · 206 阅读 · 0 评论 -
在Python中使用mock模块进行单元测试
为什么需要Mock假设现在系统有两个模型A和B,其中A依赖B(例如A,B都是函数,A函数体内调用了B函数),但是B还没完成,或者根本就不在控制之内;这时候又需要对A的功能进行单独测试,就需要使用mock对象,模拟出一个假的fake_B模块,虽然这个fake_B模块是假的,但是我们可以通过对它的行为进行定制来使他能够看起来“像”B模块的功能,使A依赖fake_B,来对A的功能进行测试。同时,由于f...转载 2019-04-18 09:59:10 · 381 阅读 · 0 评论 -
unittest常用的断言方法
unittest常用的断言方法1.assertEqual(self, first, second, msg=None)--判断两个参数相等:first == second2.assertNotEqual(self, first, second, msg=None)--判断两个参数不相等:first != second3.assertIn(self, member, contai...转载 2019-04-23 14:04:21 · 239 阅读 · 0 评论 -
python logging 打印日志
日志日志是跟踪软件运行时所发生的事件的一种方法。软件开发者在代码中调用日志函数,表明发生了特定的事件。事件由描述性消息描述,该描述性消息可以可选地包含可变数据(即,对于事件的每次出现都潜在地不同的数据)。事件还具有开发者归因于事件的重要性;重要性也可以称为级别或严重性。logging提供了一组便利的函数,用来做简单的日志。它们是 debug()、 info()、 warning()、 er...转载 2019-04-23 14:23:36 · 670 阅读 · 0 评论 -
Python中__init__.py文件的作用详解
init.py 文件的作用是将文件夹变为一个Python模块,Python 中的每个模块的包中,都有__init__.py 文件.这篇文章主要介绍了Python中__init__.py文件的作用详解,非常不错,具有参考借鉴价值,需要的朋友可以参考下批量引入init.py 文件的作用是将文件夹变为一个Python模块,Python 中的每个模块的包中,都有__init__.py 文件。通常...转载 2019-04-23 14:21:07 · 1157 阅读 · 0 评论 -
pytest使用入门
pytest是第三方开发的一个python测试模块,可以轻松地编写小型测试,而且可以扩展以支持应用程序和库的复杂功能测试,帮助我们编写更好的程序。安装pytest先在命令行中运行pytest的安装命令:$ pip install -U pytest安装完成后,检查是否安装了正确的版本:$ pytest --version简单的测试我们从一个简单的测试例子开始了解...转载 2019-04-23 14:19:07 · 175 阅读 · 0 评论