
python编程
文章平均质量分 59
沐沐牡
这个作者很懒,什么都没留下…
展开
-
python 支持pb、string、dict互转
依赖google的text_format和json_format包实现string和message互转、 dict和message互转message = text_format.Parse(text, message_obj)message_string = text_format.MessageToString(message)message_dict = json_format.MessageToDict(message)message = json_format.ParseDict(原创 2022-04-20 14:44:41 · 1616 阅读 · 0 评论 -
python 自动规范pep8风格
安装:pip install autopep8使用:autopep8 --命令 py文件命令:--ignore E501--select E501--max-line-length原创 2020-06-08 15:11:12 · 203 阅读 · 0 评论 -
python print 和 sys.stdout.write()
python: v-3.6.3当我们使用print(obj)在console上打印对象的时候,实质上调用的是sys.stdout.write(obj+'\n'),print在打印时会自动加个换行符,以下两行等价: sys.stdout.write('hello'+'\n')print 'hello' 从控制台重定向到文件原始的 sys.stdout 指向控...原创 2018-11-08 17:14:08 · 139 阅读 · 0 评论 -
python 的stdout.flush
python的stdout是有缓冲区的,给你个例子你就知道了import timeimport sysfor i in range(5): print i, #sys.stdout.flush() time.sleep(1)这个程序本意是每隔一秒输出一个数字,但是如果把这句话sys.stdout.flush()注释的话,你就只能等到程序执行完毕,屏幕上会一次...原创 2018-11-08 16:46:06 · 1667 阅读 · 0 评论 -
python的迭代器
我们已经知道,可以直接作用于for循环的数据类型有以下几种:一类是集合数据类型,如list、tuple、dict、set、str等;一类是generator,包括生成器和带yield的generator function。这些可以直接作用于for循环的对象统称为可迭代对象:Iterable。可以使用isinstance()判断一个对象是否是Iterable对象:>>...转载 2018-11-08 16:43:53 · 92 阅读 · 0 评论 -
python 的字典
Python里面有3大数据结构:列表,字典和集合.字典是常用的数据结构,里面有一些重要的技巧用法,我把这些都整理到一起,熟练掌握这些技巧之后,对自己的功力大有帮助. 1.字典的排序:用万金油sorted()函数 举一个简单的例子 my_dict={"cc":100,"aa":200,"bb":10}print(sorted(my_dict.iteritems(),key=...转载 2018-10-23 14:33:51 · 172 阅读 · 0 评论 -
url的编码解码
当url地址含有中文或者“/”的时候,这是就需要用做urlencode一下编码转换。 一、urlencode urlencode的参数是词典,它可以将key-value这样的键值对转换成我们想要的格式。如果你用的是python2.*,urlencode在urllib.urlencode。如果使用的是python3,urlencode在urllib.parse.urlencode...转载 2018-09-14 20:39:06 · 271 阅读 · 0 评论 -
python 的json
本章节我们将为大家介绍如何使用 Python 语言来编码和解码 JSON 对象。JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于人阅读和编写。JSON 函数使用 JSON 函数需要导入 json 库:import json。函数 描述 json.dumps 将 Python 对象编码成 JSON 字符串 json...原创 2018-09-11 11:07:13 · 158 阅读 · 0 评论 -
python的字典遍历
for i in dict: print "dict[%s]=" % i,dict[i] for (k,v) in dict.items(): print "dict[%s]=" % k,v for k,v in dict.iteritems(): print "dict[%s]=" % k,v ...原创 2018-11-22 16:31:35 · 595 阅读 · 0 评论 -
科学计数浮点数变成字符串
https://codeday.me/bug/20171224/112503.htmlimport decimal# create a new context for this taskctx = decimal.Context()# 20 digits should be enough for everyone :Dctx.prec = 20def float_to_str...转载 2018-11-28 16:17:35 · 289 阅读 · 0 评论 -
python的注入
1. "{A}".format(A ="lala")填充2. "0.system".format(os)找到一个属性3.f字符串a = "Hello" b = f"{a} World"原创 2019-02-15 18:43:00 · 1459 阅读 · 0 评论 -
python的ConfigParse模块
https://blog.youkuaiyun.com/talkxin/article/details/50637959使用ConfigParser模块读写ini文件ConfigParserPython的ConfigParser Module中定义了3个类对INI文件进行操作。分别是RawConfigParser、ConfigParser、SafeConfigParser。模块所解析的ini配置文件是...转载 2019-02-21 11:06:41 · 494 阅读 · 0 评论 -
python None
false None "" [] {} 0这六种值if a is None:只有None会返回Trueif not a :上面六种都会True`if x is not None`是最好的写法,清晰,不会出现错误,以后坚持使用这种写法。使用if not x这种写法的前提是:必须清楚x等于None, False, 空字符串"", 0, 空列表[], 空字典{}, 空元组()时...原创 2019-04-09 20:47:55 · 452 阅读 · 0 评论 -
flask 学习
api 的get与posthttps://www.jianshu.com/p/ed1f819a7b58文件上传https://blog.youkuaiyun.com/qq_25730711/article/details/53643758转载 2019-05-18 16:43:53 · 114 阅读 · 0 评论 -
python 文件操作
复制移动删除 文件目录https://www.jianshu.com/p/b986bbce02b2创建目录import osimport shutildef setDir(filepath): ''' 如果文件夹不存在就创建,如果文件存在就清空! :param filepath:需要创建的文件夹路径 :return: ''' if no...转载 2019-05-18 21:41:52 · 104 阅读 · 0 评论 -
json有序字典
https://blog.youkuaiyun.com/yockie/article/details/440658851. OrderedDict 有序字典OrderedDict是dict的子类,它记住了内容添加的顺序。比较时,OrderedDict要内容和顺序完全相同才会视为相等。示例:import collectionsd = collections.OrderedDict()d[...转载 2019-07-14 17:40:52 · 735 阅读 · 0 评论 -
flask 文件下载
https://www.cnblogs.com/wozuilang-mdzz/p/9851981.htmlhttps://blog.youkuaiyun.com/jinixin/article/details/79053741py:@app.route('/downloadfile/', methods=['GET', 'POST'])def downloadfile(): if...转载 2019-07-19 15:00:16 · 3237 阅读 · 1 评论 -
python当前时间
time模块time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))time.strftime里面有很多参数,可以让你能够更随意的输出自己想要的东西:下面是time.strftime的参数:strftime(format[, tuple]) -> string将指定的struct_time(默认为当前时间),根据...原创 2019-07-22 11:32:42 · 547 阅读 · 0 评论 -
python重试retry
背景我们经常遇到一个场景,就是如果操作失败则需要多次重试某些操作,这种情况下,如果想优雅的实现功能,又不关心重试逻辑,则可以学习该模块安装pip install retryAPI 介绍retry decoratordef retry(exceptions=Exception, tries=-1, delay=0, max_delay=None, backoff=1, ji...转载 2018-09-11 11:04:50 · 6626 阅读 · 0 评论 -
python 的fcntl模块
python 中给文件加锁——fcntl模块import fcntl 打开一个文件f = open('./test') ##当前目录下test文件要先存在,如果不存在会报错。对该文件加密:fcntl.flock(f,fcntl.LOCK_EX)这样就对文件test加锁了,如果有其他进程对test文件加锁,则不能成功,会被阻塞,但不会退出程序。解锁:fcntl.flo...原创 2018-09-25 11:28:23 · 20222 阅读 · 3 评论 -
python 获取本机计算机名和IP地址
1.>>>import socket>>>hostname = socket.gethostname()'OOooo-PC'>>>ip = socket.gethostbyname(hostname)>>>print ip'172.8.4.16'>>>转载 2018-09-11 18:44:47 · 1335 阅读 · 0 评论 -
pep8常见问题
使用python pep8常见问题记录import不要在一句import中引用多个库譬如import os, sys1这样写不好,最好这么写import osimport sys1 2代码长度约束一行列数:PEP8 规定最大为79列,如果拼接url很容易超限 一个函数:不可以超过30行;直观来讲就是完整显示一个函数一个屏幕就够了,不需要上下拖动 一个...转载 2018-09-11 16:03:51 · 1292 阅读 · 0 评论 -
pep8:Python代码风格检查工具
Python官网定义的代码风格 PEP 0008 – Style Guide for Python Code。pep8是检测编码风格是否符合 PEP 0008 的工具。安装pep8:pip install pep8升级pep8:pip install --upgrade pep8卸载pep8:pip uninstall pep8如果使用的是Ubuntu,还可以...转载 2018-09-11 15:06:06 · 3547 阅读 · 0 评论 -
python中datetime模块中strftime/strptime函数
python中datetime模块非常好用,提供了日期格式和字符串格式相互转化的函数strftime/strptime1、由日期格式转化为字符串格式的函数为: datetime.datetime.strftime()2、由字符串格式转化为日期格式的函数为: datetime.datetime.strptime()3、两个函数都涉及日期时间的格式化字符串,列举如下:%a 星期...原创 2018-08-24 16:30:56 · 628 阅读 · 0 评论 -
@contextmanager:Python实现with结构
常见with结构常见的with结构是在进行文件操作时,比如# 中规中矩的写法f = open("test.txt", "w")f.write("hello world!")f.close()# 采用with结构with open("test.txt", "w") as f: f.write("hello world!")这个结构的好处,一个是简洁,一个是当我们转载 2018-08-08 16:53:47 · 132 阅读 · 0 评论 -
python运算符
Python算术运算符以下假设变量: a=10,b=20:运算符 描述 实例 + 加 - 两个对象相加 a + b 输出结果 30 - 减 - 得到负数或是一个数减去另一个数 a - b 输出结果 -10 * 乘 - 两个数相乘或是返回一个被重复若干次的字符串 a * b 输出结果 200 / 除 - x除以y b...原创 2018-07-24 16:43:38 · 323 阅读 · 0 评论 -
python变量类型
变量存储在内存中的值。这就意味着在创建变量时会在内存中开辟一个空间。基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中。因此,变量可以指定不同的数据类型,这些变量可以存储整数,小数或字符。变量赋值Python 中的变量赋值不需要类型声明。每个变量在内存中创建,都包括变量的标识,名称和数据这些信息。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创...原创 2018-07-24 16:31:57 · 206 阅读 · 0 评论 -
python基础语法
Python 标识符在 Python 里,标识符由字母、数字、下划线组成。在 Python 中,所有标识符可以包括英文、数字以及下划线(_),但不能以数字开头。Python 中的标识符是区分大小写的。以下划线开头的标识符是有特殊意义的。以单下划线开头 _foo 的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用 from xxx import * 而导入;以双下划线...原创 2018-07-24 15:58:59 · 148 阅读 · 0 评论 -
python os.path模块常用方法详解
os.path模块主要用于文件的属性获取,在编程中经常用到,以下是该模块的几种常用方法。更多的方法可以去查看官方文档:http://docs.python.org/library/os.path.html1.os.path.abspath(path) 返回path规范化的绝对路径。 >>> os.path.abspath('test.csv') 'C:\\P...原创 2018-09-16 11:27:50 · 157 阅读 · 0 评论 -
python中模板引擎Jinja2学习
1.Jinja2 Jinja2是基于python的模板引擎,功能比较类似于于PHP的smarty,J2ee的Freemarker和velocity。 它能完全支持unicode,并具有集成的沙箱执行环境,应用广泛。使用Jinja2的方式一般是,先创建一个包括{{ }}或{% %}等特殊符号的模板文件,然后用Jinja的模板对象加载,然后变量值对该模板中的变量进行赋值。 2....转载 2018-09-16 17:38:01 · 1807 阅读 · 0 评论 -
python的requests请求
Requests是一常用的http请求库,它使用python语言编写,可以方便地发送http请求,以及方便地处理响应结果。一、安装1.1 使用pip进行安装要安装requests,最方便快捷的方法是使用pip进行安装。pip install requests如果还没有安装pip,这个链接 Properly Installing Python 详细介绍了在各种平台下如何安装p...转载 2018-09-10 21:14:19 · 1748 阅读 · 0 评论 -
python的join()方法
函数:string.join()Python中有join()和os.path.join()两个函数,具体作用如下: join(): 连接字符串数组。将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串 os.path.join(): 将多个路径组合后返回一、函数说明1、join()函数语法: 'sep'.join(seq)参数说明...原创 2018-09-07 14:44:46 · 1041 阅读 · 0 评论 -
Python 正则表达式模块 (re) 简介
Python 正则表达式模块 (re) 简介Python 的 re 模块(Regular Expression 正则表达式)提供各种正则表达式的匹配操作,和 Perl 脚本的正则表达式功能类似,使用这一内嵌于 Python 的语言工具,尽管不能满足所有复杂的匹配情况,但足够在绝大多数情况下能够有效地实现对复杂字符串的分析并提取出相关信息。Python 会将正则表达式转化为字节码,利用 C 语言...转载 2018-09-17 16:18:36 · 148 阅读 · 0 评论 -
Python ConfigParser模块常用方法示例
在程序中使用配置文件来灵活的配置一些参数是一件很常见的事情,配置文件的解析并不复杂,在Python里更是如此,在官方发布的库中就包含有做这件事情的库,那就是ConfigParser,这里简单的做一些介绍。 Python ConfigParser模块解析的配置文件的格式比较象ini的配置文件格式,就是文件中由多个section构成,每个section下又有多个配置项,比如: [...转载 2018-09-17 11:05:45 · 314 阅读 · 0 评论 -
python file.seek() 文件指针
转自 http://www.cnblogs.com/blogCblog/p/5597973.html 当我们读取文件内容时,并不能重复的读取,比如一个blogCblog.txt文件里有blogCblog内容,用两个read()方法读取blogCblog.txt的内容,会发现,第一个返回文件内容,第二个返回‘’。并不能重复读取,如果我想重复读取呢?怎么解决。 其实这跟文件指针有关,...转载 2018-09-16 20:23:10 · 738 阅读 · 0 评论 -
python 文件读写时用open还是codecs.open
当我面有数据需要保存时,第一时间一般会想到写到一个txt文件中,当然,数据量比较大的时候还是写到数据库比较方便管理,需要进行网络传输时要序列化,json化。下面主要整理一下平时用的最多的写入到文件中,一般以txt结尾,linux里不会以后缀来区分文件类型,后缀可以随便,也可以没有。 python读写文件估计大家都用open内置函数,或者file这个工厂函数,这两个的效果基本一样。...转载 2018-09-16 19:01:15 · 176 阅读 · 0 评论 -
python 的StringIO
1 IO的含义在计算机中,IO是Input/Output的简写,也就是输入和输出。由于程序和运行时数据是在内存中驻留,由CPU这个超快的计算核心来执行,涉及到数据交换的地方,通常是磁盘、网络等,就需要IO接口。比如你访问百度首页,浏览器就需要通过网络IO获取网页。浏览器先会发送请求给百度服务器,告诉它想要的html网址,这个动作是往外发数据,叫Output。接着百度服务器把网页的内容发...转载 2018-09-16 18:56:12 · 21592 阅读 · 3 评论 -
Python模块学习——tempfile
主要有以下几个函数:tempfile.TemporaryFile如何你的应用程序需要一个临时文件来存储数据,但不需要同其他程序共享,那么用TemporaryFile函数创建临时文件是最好的选择。其他的应用程序是无法找到或打开这个文件的,因为它并没有引用文件系统表。用这个函数创建的临时文件,关闭后会自动删除。 1 2 3 4 5 6...转载 2018-09-16 17:52:12 · 895 阅读 · 0 评论 -
python中文print报错
Python中默认的编码格式是 ASCII 格式,在没修改编码格式时无法正确打印汉字,所以在读取中文时会报错。解决方法为只要在文件开头加入 # -*- coding: UTF-8 -*- 或者 #coding=utf-8 就行了注意:#coding=utf-8 的 = 号两边不要空格。...原创 2018-07-24 15:18:44 · 3970 阅读 · 0 评论