- 博客(25)
- 问答 (1)
- 收藏
- 关注
原创 M1 mac python安装pymssql遇到的问题
M1 mac安装pymssql报ERROR: Could not build wheels for pymssql, which is required to install pyproject.toml-based projects解决方案
2023-02-28 18:43:18 2716 1
原创 星星罐子
小时候,爷爷带着我放风筝,爷爷把风筝杆插进泥土里,我站在风筝下面喊,爷爷告诉我,风筝就像一个使者,它能帮我带去对蓝天说的话。 爷爷从小带我长大,在我六岁时转交给父母,将我由乡村带去城市 学校里有个传说,自己徒手折一千零一个星星,便可以实现自己的愿望。 课也没好好上,亲手折了一年多 将它们放在一个大罐子里,在第一千零一个星星上写下我的愿望,后来回老家的时候,我抱着星星回去带给爷爷,跟他说,放在床头,就可以实现里面的愿望。 带回老家,亲戚来家里串门,带着他们的孩子,一见我抱着的星星罐子,两眼放光。.
2021-04-07 09:38:33 383 3
原创 抓取豆瓣音乐top250信息并保存在CSV文件中
话不多说,直接上代码,欢迎点赞留言。import requestsfrom bs4 import BeautifulSoupimport csvimport reimport timeheaders = { 'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36'}#
2020-06-13 23:02:14 589
原创 使用request下载二进制文件
可以使用request.get方法。保存的时候注意使用content,不对下载内容做改变直接进行保存。import requestsr = requests.get('https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1592049860552&di=b98c5005a32ba52c8609f69edf5959c9&imgtype=0&src=http%3A%2F%2F
2020-06-13 17:22:02 643
原创 如何在Django中读写Session
什么是Session?Session(服务端 key-value)用来跟踪用户Cookie(客户端Map key-value)如何在Django中使用session?可以通过request的session对象可以访问session,就像读写字典一样读写sessionfrom django.http import HttpResponsedef writeSession(request): request.session['name'] = 'Bill' request.sessi
2020-06-13 12:18:47 616
原创 jinja2模板中如何使用条件控制
可以通过{%if ……%}判断指令或{%for……%}循环指令等来完成基础的控制。from flask import *app = Flask(__name__)@app.route('/')def index(): return render_template('template.txt', user='', intValue=666, list=[1, 2, 3], dic={'a': 'b'}, value=None)if __name__ == '__main__':
2020-06-13 11:55:24 352
原创 Flask在Jinja2中使用python模板
Jinja2模板中可以像python语言一样直接使用列表、字典等类型的值,如mylist[0],mydict[‘type’]等。from flask import *app = Flask(__name__)class MyClass: def func(self): return 'myclass func'def myfunc(): return 'function'@app.route('/')def index(): mydict = {}
2020-06-13 09:20:36 237
原创 Flask 实现转发与重定向
转发: 对用户是透明的,或者说在Web浏览器中的url是不会变的,在服务端会根据请求url去读取特定资源,并将资源的内容返回给服务端。服务端资源对用户不一定可以访问重定向: 用户是可见的,Web浏览器中的url会改变,服务端的资源必须是用户可以访问的。from flask import *app = Flask(__name__)#转发,test.txt要放到同一目录下的static文件夹里@app.route('/test')def test(): return app.send_
2020-06-09 22:45:31 1845 1
原创 python 异常捕捉中else的作用
try……except……else语句,如果try后的语句发生异常则执行except语句后的代码,如果try后语句未发生异常则执行else后的语句。while True: try: x = int(input('请输入X:')) y = int(input('请输入Y:')) value = x / y print('x/y is',value) except Exception as e: # 发生异常时执行
2020-06-08 21:54:24 360
原创 python的多继承,父类存在多个相同成员按什么规则处理
如果多个父类存在冲突的成员,那么会使用先遇到的成员class Calculator: def calculate(self, expression): self.value = eval(expression) return self.value def printResult(self): print('result:{}'.format(self.value))class MyPrint: def print(self, m
2020-06-08 21:46:10 527
原创 python 如何定义、抛出、捕捉异常类
#定义异常类class MyException(Exception): passnum = 12try: if num >= 10: raise MyException('抛出相关异常') # 定义要抛出的异常 print('正常执行代码')except MyException: print('发生了异常')
2020-06-08 21:21:22 221
原创 python 使用多线程从url.txt中的url地址下载图片并保存
urls.txt文件中包含多个图像url地址(一行一个),使用多线程下载这些图像并按顺序保存为0.jpg、1.jpg、2jpgfrom urllib3 import *import threadinghttp = PoolManager()disable_warnings() # 禁用警告f = open('demo.txt', 'r')urllist = []while True: url = f.readline() if url == '': bre
2020-06-08 21:12:13 1023
原创 Python 什么是信号量,如何使用信号量
信号量:是最古老的同步原语之一,是一个计数器当资源释放时计数器就会递增,当资源申请时计数器就会递减。可以认为信号量就代表着资源是否可用from threading import BoundedSemaphoreMAX = 3 # 资源最大值semaphore = BoundedSemaphore(MAX)print(semaphore._value)semaphore.acquire()print(semaphore._value)semaphore.acquire()print(sem
2020-06-08 18:02:26 437
原创 python 什么是线程锁,如何使用线程锁
线程锁:目的是将一段代码锁住,一旦获得所权限,除非释放线程锁,否则其他代码都无法获得锁权限。为什么需要线程锁?多线程同时完成特定的操作时,由于并不是原子操作,所以在完成操作的过程中会被打断去做其他的工作,可能会产生脏数据例如:一个线程读取变量n(初始值为0)然后n++,最后输出n。当执行完n++后被打断,由另外的线程做同样的工作,这是n被加了两次,所以n最后等于2而不是1使用lock函数创建线程锁,使用lock.acquire方法加锁,使用lock.release方法解锁。在加锁后任何代码执行ac
2020-06-08 17:24:22 737
原创 Python中的协程的概念及其两种执行方式
1、协程的概念协程又称为微线程、纤程,英文名Coroutine。通过async/await语法进行生命,是编写异步应用的推荐方式。#协程的写法import asyncioasync def main(): print('hello') await asyncio.sleep(1) print('world')asyncio.run(main())2、协程执行的两种方式#run方法直接运行异步函数import asyncioimport timeasyn
2020-06-08 16:27:31 377
原创 python 如何在线程中创建和使用全局(当前线程)对象
local类用于创建一个全局对象,不过该对象只能在线程内部使用,也就是说全局是针对一个线程而言的。import threading, timea = threading.local()def worker(): a.x = 0 for i in range(20): time.sleep(0.01) a.x += 1 print(threading.current_thread(), a.x)for i in range(10):
2020-06-08 10:49:08 478
原创 Python创建的两个进程之间如何通信
可以使用队列实现在进程间通信(PV操作,类似生产着消费者问题)from multiprocessing import Queue, Processimport random, timelist1 = ['java', 'python', 'javascript']def write(queue): for value in list1: print(f'正在向队列中写数据-->{value}') queue.put_nowait(value)
2020-06-07 23:13:52 790
原创 Python如何分别获取当前日期的年月日以及一年中的第几天
localtime处理后的时间可以直接获取更详细的信息import timelocaltime = time.localtime(time.time())print(localtime)print(localtime.tm_year)print(localtime.tm_mon)print(localtime.tm_mday)print(localtime.tm_yday)
2020-06-07 22:03:58 1278
原创 python生成器将二维列表转换为一维列表
什么是生成器呢?生成器与函数的定义方法类似,只是需要yield关键字处理每一个需要迭代的值(普通函数需要return返回值)。def myGenerater(): numlist = [1, 2, 3, 4, 5, 6, 7, 8] for num in numlist: yield numfor num in myGenerater(): print(num, end=' ')如何把一个二维列表转换为一维列表呢?nestedlist = [[1,
2020-06-07 21:41:21 1507
原创 python 举例看copy和deepcopy区别
copy:只复制深层对象的引用deepcopy:复制深层对象本身import copya = [1, 2, 3, ['a', 'b']]c = copy.copy(a)d = copy.deepcopy(a)print(c) #[1, 2, 3, ['a', 'b']]print(d) #[1, 2, 3, ['a', 'b']]print(a[3] is c[3]) #Trueprint(a[3] is d[3]) #Falsea[3][0] = 'x'print
2020-06-07 14:23:42 131
原创 python with语句的作用
with语句用于对资源进行访问的情况,确保不管使用过程中是否发生异常都会执行必要的清理工作使用with语句可以解决以下问题:1、文件打开后代码中没有相应的关闭指令2、写了关闭指令但是在运行关闭指令前抛出了异常自定义类如果想使用with语句需要实现__enter__,__exit__两个方法如下:def MyClass: def __enter__(self): print('enter is invoked!') return self def process(self): pri
2020-06-03 22:10:45 1123
原创 python做json序列化时处理日期类型的值
做json序列化时如果有date或者datetime类型的值会报错。所以需要重写JSONEncode的default方法。代码如下import jsonclass DateToJson(json.JSONEncoder): def default(self, obj): if isinstance(obj, datetime): return obj.strftime('%Y年%m月%d日 %H:%M:%S') elif isinstanc
2020-06-03 21:19:54 528
原创 用自家的网络搭建属于自己的服务器
每次在网上问:如何用自己家的的宽带搭建一个外网可访问的站点呢?就总是会收到一些诸如“别折腾自己的电脑啦,现在有个东西叫做云服务器”的回答,“生命不息,折腾不止”作为我的座右铭所以以上并不是我想要的答案。废话不多讲,上干货由于本人是python程序员,所以以下部分代码为python实现众所周知由于IPV4已用完,所以目前我们办理的宽带分配到的IP地址多数为各大运营商的内网IP。第一步我们要做的就是拨打运营商客服电话,告诉客服人员自己家里有小孩需要安装摄像头所以需要公网IP。业务受理后,恭喜你,你获得了一个
2020-06-01 22:59:38 5606 5
空空如也
mysql按日期分表后如何高效查询
2020-11-24
TA创建的收藏夹 TA关注的收藏夹
TA关注的人