Python
Python相关使用及技巧
Lei Gong
Powering Humanity With Code
展开
-
[工作小计]Python-loguru日志插件(推荐贴)
推荐一个好用的python日志插件loguru,上手简单、功能丰富、文档详细,几乎可以满足所有日常开发以及生产环境的使用原创 2021-08-15 15:27:32 · 389 阅读 · 1 评论 -
Python requests中params、data和json区别
简单来说,params是用来发送查询字符串,而data、json是用来发送正文的。这两种参数post方法都可以用,get方法只能发查询字符串,不能发送正文。json 表示使用application/json方式提交请求。接收方request.body的内容为’{“a”: 1, “b”: 2}'的这种形式。data 表示使用application/form-urlencode方式提交请求,接收方request.body的内容为a=1&b=2的这种形式。...原创 2021-06-21 16:38:46 · 4852 阅读 · 0 评论 -
python3 get进程id并kill进程
os.getpid() # os.getpid()获取当前进程idos.getppid() # os.getppid()获取父进程id# kill processos.kill(os.getpid(), signal.SIGKILL)'''第二个参数常用以下几种:SIGINT 终止进程 中断进程SIGTERM 终止进程 软件终止信号SIGKILL 终止进程 杀死进程SIGALRM 闹钟信号'''...原创 2021-06-09 15:12:20 · 746 阅读 · 0 评论 -
python中利用pymongo连接mongo集群创建分片collection
python中利用pymongo连接mongo集群声明创建分片collection当搭建了集群做了sharding之后,最好的存储方式是允许db分片并指定collection的分片方式(shard key)。这个操作使用mongodb shell能够很方便的完成,但当我们使用python进行数据导入操作的时候,就必须通过pymongo进行,以下是pymongo允许分片的例子import pymongoconn = pymongo.Connection('127.0.0.1', 27017) db原创 2021-01-23 18:24:36 · 2258 阅读 · 9 评论 -
Python 报错 json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes
测试接口时服务器端出现错误:json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line x column y (char z)是后端在处理json对象时会将json对象转换为字典再执行其他逻辑,json属性名必须用双引号包裹,所以单纯的用单引号,结果报错以下是原json{ 'items': [{'datapack_id':111,'revision_id':222},{'datapac原创 2021-01-10 16:09:12 · 24892 阅读 · 4 评论 -
Python判断变量的类型
Python判断变量的类型有两种方法:type() 和 isinstance()type()a = ['xxx', 123]if type(a) is list: print('list数组')else: print('其他类型')isinstance()a = ['xxx', 123]if isinstance(a, list): print('list数组')else: print('其他类型')对于基本的数据类型两个的效果都一样,isins转载 2020-10-24 11:34:11 · 5016 阅读 · 1 评论 -
tqdm使用方法及简单介绍
Tqdm 是一个快速,可扩展的Python进度条,可以在 Python 长循环中添加一个进度提示信息,用户只需要封装任意的迭代器 tqdm(iterator)。使用pip就可以安装。from tqdm import tqdm#range用法for i in tqdm(range(1000)): #do something pass #list用法for char in tqdm(["a", "b", "c", "d"]): #do something p原创 2020-09-13 10:52:01 · 1716 阅读 · 1 评论 -
Python3拼接字符串的多种方法
直接通过(+)操作符拼接>>> 'Hello' + ' ' + 'World' + '!''Hello World!''''使用这种方式进行字符串连接的操作效率低下,因为python中使用 + 拼接两个字符串时会生成一个新的字符串,生成新的字符串就需要重新申请内存,当拼接字符串较多时自然会影响效率。'''通过str.join()方法拼接>>> strlist = ['Hello', ' ', 'World', '!']>>>.原创 2020-09-13 10:45:50 · 1230 阅读 · 0 评论 -
python3使用isinstance、type判断变量的类型
isinstancedef add_key(self,keyname): self.keyname=keyname if isinstance(self.keyname,int) or isinstance(self.keyname,str): self.num.append(self.keyname) return self.num这里就是判断输入的变量是否为整形或者字符串type但是 如果判断一个数是否为l.原创 2020-09-13 10:32:43 · 1310 阅读 · 0 评论 -
import embed:暂停程序,可人工查看此时程序数据状态
from IPython import embeda = 10b = 20embed(header='First time')c = 30d = 40embed()运行结果如下:Python 3.6.3 |Anaconda, Inc.| (default, Oct 6 2017, 12:04:38) Type 'copyright', 'credits' or 'license' for more informationIPython 6.1.0 -- An enhanced Int原创 2020-09-13 10:24:16 · 1221 阅读 · 0 评论 -
Python-类型提示-类型注释符号
变量# This is how you declare the type of a variable type in Python 3.6age: int = 1# In Python 3.5 and earlier you can use a type comment instead# (equivalent to the previous definition)age = 1 # type: int# You don't need to initialize a variable .原创 2020-08-29 16:20:34 · 1572 阅读 · 0 评论 -
TypeError: Object of type ‘ndarray‘ is not JSON serializable
json不认numpy的arrayimport numpy as npimport jsona=np.asarray([1,2])result={'name':'test','num':a}json.dump(result)TypeError: Object of type ‘ndarray’ is not JSON serializable解决方案:result={'name':'text','num':a.tolist()}转载 2020-08-29 15:28:00 · 7624 阅读 · 1 评论 -
Python中赋值、浅拷贝、深拷贝的区别
对于不可变对象(数字-number、字符、元组-tuple等),直接赋值的结果和深拷贝一致#不可变对象(数字-number、字符、元组-tuple等)的例子a = 1b = ab = 0print('a: ', a)print('b: ', b)#输出:a:1b:0对于可变对象(list、dict等),直接赋值、浅拷贝、深拷贝结果不同直接赋值:两个字典指向地址一致;浅拷贝:只拷贝到原对象;深拷贝:除了拷贝原对象,也会拷贝子对象;# 可变对象(list、dict等)的例.转载 2020-08-22 16:15:27 · 160 阅读 · 0 评论 -
Python中json.dump方法与python中自带方法repr的区别
Json是一种轻量级的数据交换格式,Python3 中可以使用 json 模块来对 JSON 数据进行编解码,它包含了两个函数:– 引入json包: import json– json.dumps(): 对数据进行编码,把python数据转换json数据(字符串类型)。– json.loads(): 对数据进行解码,把json(str类型)数据转换python数据。Python中repr是内置函数repr(object) 参数:object – 对象。返回值:返回一个对象的 string 格式.原创 2020-08-01 10:42:03 · 295 阅读 · 0 评论 -
Python中对象实例的__dict__属性
实例的__dict__并不是一个方法,而是存储与该实例相关的实例属性的字典,对类中定义的方法(函数),方法名也是属性变量,类的__dict__存储所有实例共享的变量和函数(类属性,方法等),类的__dict__并不包含其父类的属性,每个实例的__dict__属性互不影响。例:class A(object): a = 0 name = None def __init__(self,name): self.a = 1024 self.name = na原创 2020-07-26 18:32:52 · 581 阅读 · 2 评论 -
python3.x与2.x中print输出不换行
python3.x:print(i,end=' ') 循环输出:1 2 3。。。-------------------------print(i,end='!')循环输出:1!2!3!。。。end=单引号中的内容为空就是换行,若是空格或其他字符则在输出内容中间输出此字符。python2.x:print i,循环输出:1 2 3。。。在输出变量后加上逗号就可以实现不换行。...原创 2020-07-14 15:19:33 · 144 阅读 · 0 评论 -
python中1 is True 的结果为False,is判断与==判断的区别
python中1 is True 的结果为False,而1 == True的结果为True。python中True的数值就是1,那为什么1 is True 的结果为False呢?因为is判断和==判断是有区别的:==:比较的是value,也就是数值的比较;is :比较的是内存地址,也就是两个对象是否是同一个对象;由于python是弱类型语言,因此在使用判断时涉及到此类问题定要认真考虑否则容易出现程序bug。...原创 2020-07-14 14:53:24 · 6785 阅读 · 0 评论