
python基础知识
枫叶
这个作者很懒,什么都没留下…
展开
-
python如何读取比内存大的文件
使用生成器 yield 逐行读取到内存def read_file(filename): with open(filename, 'r', encoding='utf-8') as f: for line in f: yield lineline_content = read_file(filename="/data.txt")for line in line_content: print line...原创 2021-04-20 10:14:54 · 291 阅读 · 0 评论 -
python学习之numpy的学习
import numpy as nparray = np.array([[1, 2, 3], [2, 3, 4]])print (array)print ('number of dim:', array.ndim) # 求矩阵的维度print ('shape:', array.shape) # 求矩阵的形状print ('size:', array.size) # 求矩阵的大小a = np.zeros((2, 3)) # 生成一个全为零的矩阵pr原创 2020-06-14 11:43:44 · 242 阅读 · 0 评论 -
python学习之正则表达式
import reret = re.findall('w\w{2}l','hello world')print(ret)ret =re.findall('lzh','dsfsfsflzhfsfsffs')print(ret)元字符.通配符ret = re.findall('w..l','hello world') # .只能代指任意一个字符print(ret)^ret = re.findall('^h...o','hlsaodfhello')print(ret)$r原创 2020-06-14 11:42:08 · 240 阅读 · 0 评论 -
在ubantu命令行的模式下怎样debug python代码
Python提供类似于C++ gdb的调试工具pdb,我们可以在Linux下使用pdb在命令行下进行Python程序的调试。官方参考网站:Python2: https://docs.python.org/2/library/pdb.htmlPython3: https://docs.python.org/3/library/pdb.html一般地,我们可以使用如下的方式进入调试(比如我们要调试的源文件为hello.py):在命令行启动目标程序,加上-m参数。python -m pdb hel转载 2020-05-09 15:30:35 · 1346 阅读 · 0 评论 -
python中如何将一个可执行程序包装成一个exe可执行文件
1、安装pyinstaller(需要先安装pip)、再:pip install pyinstaller2、定位到pyinstaller.exe所在文件夹(一般再python下的“scripts”文件夹下)3、再添加上你要转换的文件地址(两者之间有空格),pyinstaller.exe后面如果加上-F就是打包为一个exe文件(文件会比较大),如果不加就会有很多库文件;加上-w就是打包为没有cmd...原创 2020-04-29 19:34:10 · 716 阅读 · 0 评论 -
python脚本实现QQ自动发送消息
import win32guiimport win32conimport win32clipboard as wimport timedef send(name, msg): #打开剪贴板 w.OpenClipboard() #清空剪贴板 w.EmptyClipboard() #设置剪贴板内容 w.SetClipboardData(win3...原创 2020-04-28 15:23:17 · 9575 阅读 · 4 评论 -
python中的信号量
mport threading, timeclass myThread(threading.Thread): def run(self) -> None: if semaphore.acquire(): print(self.name) time.sleep(3) semaphore.rele...原创 2020-04-25 21:54:54 · 387 阅读 · 0 评论 -
python中的条件变量
import threadingimport timefrom random import randintclass Producer(threading.Thread): def run(self) -> None: global L while True: val = randint(0,100) ...原创 2020-04-25 21:53:22 · 436 阅读 · 0 评论 -
python中的事件
import threading, timeclass Boss(threading.Thread): def run(self) -> None: print('boss:今晚大家都要加班到22:00。') event.isSet() or event.set() time.sleep(5) print("boss...原创 2020-04-25 21:50:06 · 362 阅读 · 0 评论 -
python中的队列
import queued = queue.Queue(3)d.put('jinxin') # 插入数据d.put('xiaohu')d.put('haoran',1)# FIFOprint(d.get())print(d.get())print(d.empty())print(d.queue)out: jinxin xiaohu False deque([...原创 2020-04-25 21:48:49 · 154 阅读 · 0 评论 -
python中的同步锁
import threading, timedef addNum(): global num r.acquire() # 获得锁 temp = num time.sleep(0.000001) num = temp - 1 r.release() # 释放锁num = 100thread_list = []r = threadin...原创 2020-04-25 21:47:42 · 456 阅读 · 0 评论 -
python中的死锁和递归锁
import threading, time'''class myThread(threading.Thread): def doA(self): lockA.acquire() print(self.name,'gotlockA',time.ctime()) time.sleep(3) lockB.acquire()...原创 2020-04-25 21:45:29 · 206 阅读 · 0 评论 -
python中多线程的学习
import timeimport threading# python中存在的GIL(全局解释器锁)问题:在同一时刻只能有一个线程进入解释器# I/O密集型任务或函数start = time.time()def foo(n): print('foo%s'%n) time.sleep(1) print('end foo')def bar(n): ...原创 2020-04-25 21:42:55 · 133 阅读 · 0 评论 -
python中socket的使用(server,client)
初识socketclient端:import socketsk = socket.socket()address = ('127.0.0.1',8000)sk.connect(address)data = sk.recv(1024)print(str(data,'utf8'))server端:'''网络通信三要素1. ip地址2. 端口号3. 传输协议'''...原创 2020-04-25 21:35:28 · 4403 阅读 · 0 评论 -
python中的异常处理
try: # 代码块 passexcept IndexError as e: print('IndexError',e)except ValueError as e: print('ValueError',e)except Exception as e: # 上述代码块如果出错,则自动执行当前块内容 # e 是Exception的对象,对象中封...原创 2020-04-25 21:29:41 · 136 阅读 · 0 评论 -
python中类的特殊成员
class foo: def __init__(self): print('init') def __call__(self, *args, **kwargs): print('call') def __del__(self): print('析构方法') # 对象被销毁时,自动执行obj = foo() # 自...原创 2020-04-25 20:47:18 · 124 阅读 · 0 评论 -
python中的反射(getattr,setattr,hasattr,delattr)解析
class Foo: def __init__(self,name,age): self.name = name self.age = ageobj = Foo('alex',18)如果想通过字符串操作对象中的成员,就如下所示的方式:obj.nameb = 'name'obj.b # obj.name会报错:AttributeError:...原创 2020-04-25 20:34:41 · 309 阅读 · 0 评论 -
python中的单例模式解析
class Foo: def __init__(self,name,age): self.name = name self.age = age# obj = Foo() obj对象,obj也成为Foo类的实例,(实例化)obj1 = Foo('fengte',12)obj2 = Foo('dada',21)obj3 = Foo('daddf',32...原创 2020-04-25 19:50:00 · 176 阅读 · 0 评论 -
python中的成员修饰符学习
class foo: def __init__(self,name,age): self.name = name self.age = age self.__age = age # 私有,外部无法直接访问 def show(self): return self.__ageobj = foo('fengye',1...原创 2020-04-25 19:29:25 · 142 阅读 · 0 评论 -
对本地图片进行数据增强操作并保存到本地
import osfrom PIL import Imagefrom torchvision import transforms导入必要的模块file_list = os.listdir('图片路径')h = 0randomcrop = transforms.RandomCrop(99) # 随机剪裁大小为99*99randomhorizontalflip = transfor...原创 2020-04-18 20:06:11 · 2257 阅读 · 1 评论 -
torch.max的用法
x = torch.rand(4,4)print('x:\n',x)print('torch.max(x,1):\n',torch.max(x,1))print('torch.max(x,0):\n',torch.max(x,0))print('torch.max(x,1)[0]:\n',torch.max(x,1)[0])print('torch.max(x,1)[1]:\n',to...原创 2020-04-18 19:27:23 · 519 阅读 · 0 评论 -
解决cv2.imread不能读取带有中文字符路径的问题
用img = cv2.imdecode(np.fromfile(a[:-1],dtype=np.uint8),cv2.IMREAD_COLOR)代替img = cv2.imread(a[:-1])就好了原创 2020-04-02 16:48:45 · 1757 阅读 · 0 评论 -
python中的lambda函数用法
1.传入多个参数的函数def add(x,y): return x + y 用lambda函数实现:a = lambda x,y :x + yprint(a(1,2))结果是32.传入一个参数的lambda函数a=lambda x:x*xprint(a(3)) 3.例3:多个参数的lambda形式:a = lambda x,y,z:(x+8)*y-zprint(a(...原创 2020-04-14 17:05:05 · 4051 阅读 · 0 评论 -
os.path.splitext()用法--分离文件名与扩展名
用法: os.path.splitext(“文件路径”) 分离文件名与扩展名;默认返回(fname,fextension)元组,可做分片操作import ospath_01='E:\STH\Foobar2000\install.log'path_02='E:\STH\Foobar2000'res_01=os.path.splitext(path_01)res_02=os.path...原创 2020-04-14 16:45:31 · 2197 阅读 · 1 评论 -
python中的logging模块
# -*- coding: utf-8 -*-# @Time : 2020/2/17 14:00# @Author : Jackey-lu# @File : logging模块.pyimport logging# logging.basicConfig(level=logging.DEBUG,# format='%(asctim...原创 2020-04-11 13:16:23 · 112 阅读 · 0 评论 -
python中的hashlib模块
# -*- coding: utf-8 -*-# @Time : 2020/2/17 13:16# @Author : Jackey-lu# @File : hashlib模块.pyimport hashlibm = hashlib.md5()print(m)m.update('hello world!'.encode('utf8'))print(m.hexdig...原创 2020-04-11 13:15:20 · 145 阅读 · 0 评论 -
python中的随机数模块
# -*- coding: utf-8 -*-# @Time : 2020/2/16 15:30# @Author : Jackey-lu# @File : 随机数.pyimport randomprint(random.random())print(random.randint(1, 9))print(random.choice('hello'))print(r...原创 2020-04-11 13:11:58 · 240 阅读 · 0 评论 -
python中的时间模块
# -*- coding: utf-8 -*-# @Time : 2020/2/16 14:52# @Author : Jackey-lu# @File : 时间模块.pyimport time# time.sleep(3)# print(time.clock())# print(time.gmtime())# print(time.localtime())# ...原创 2020-04-11 13:11:08 · 95 阅读 · 0 评论 -
python中的列表生成器
# -*- coding: utf-8 -*-# @Time : 2020/2/16 12:51# @Author : Jackey-lu# @File : 列表生成器.pya = [x for x in range(10)]print(a)s = (x*2 for x in range(10))print(s) # <generator object &l...原创 2020-04-11 13:10:10 · 507 阅读 · 0 评论 -
python中os模块
# -*- coding: utf-8 -*-# @Time : 2020/2/16 17:02# @Author : Jackey-lu# @File : os模块.pyimport os# print(os.getcwd()) # 获取当前工作目录路径# # print(os.chdir('dirname')) # 改变当前脚本工作目录;相当于shell下...原创 2020-04-11 13:08:56 · 110 阅读 · 0 评论 -
python中装饰器的使用
# -*- coding: utf-8 -*-# @Time : 2020/2/25 18:01# @Author : Jackey-lu# @File : 装饰器.pyimport time# def show_time(f): # 装饰器函数# def inner():# start = time.time()# ...原创 2020-04-11 13:07:50 · 126 阅读 · 0 评论 -
python中文件的使用
# __author: FENGYE# data: 2019/12/19f = open('./jiangjinjiu2.txt', 'r', encoding='utf8')# print(f.read(17).strip())print(f.readline().strip())print(f.readline().strip())# print(f.readlines())...原创 2020-04-11 13:06:26 · 244 阅读 · 0 评论 -
python中字符串的使用
# __author: FENGYE# data: 2019/12/13st = 'hello kitty {name} is {age} 'print(st.count('l')) # 统计元素个数print(st.capitalize()) # 首字母大写print(st.center(50,'#')) #居中并且用设置的符号填pr...原创 2020-04-11 13:04:47 · 180 阅读 · 0 评论 -
python中列表的使用
#__author: FENGYE#data: 2019/12/12a = ['dadd','dasda','ligang','dasfsf','ligang','fsfsdfs','ligang']# print(max(a))# b = []# c = a.count('ligang')# d = a[-1:3:-1]print(a[1:3])## for i in a...原创 2020-04-11 13:03:27 · 148 阅读 · 0 评论