Python编程
莺声门径
这个作者很懒,什么都没留下…
展开
-
说明白正反向代理,以及Nginx和Gunicorn
说明白正反向代理,以及Nginx和Gunicorn原创 2022-11-30 15:17:15 · 2059 阅读 · 0 评论 -
解决Selenium在运行中出现浏览器页面崩溃,最后导致丢失session id的问题。
Selenium 页面崩溃问题原创 2022-11-28 10:43:36 · 2539 阅读 · 0 评论 -
selenium如何访问没有证书的网页
selenium如何访问没有证书的网页原创 2022-11-16 10:11:49 · 1516 阅读 · 0 评论 -
robotframework Create Webdriver的一点理解
robotframework中使用Create Webdriver的一点理解原创 2022-06-17 13:52:21 · 857 阅读 · 0 评论 -
sqlalchemy使用带有in_()批量删除报错
try: ids = ids.split(",") Article.query.filter(Article.id.in_(ids)).delete() db.session.commit() return ResponseJson.successMsg('删除成功')except Exception as e: db.session.rollback() return ResponseJson.errorMsg('删除失败')报了下面的错误:Coul原创 2022-04-18 11:53:42 · 1807 阅读 · 0 评论 -
os.walk()获取当前目录下的全部文件
import os filename = './test' filename, *_= os.walk(filename,topdown=True)*_, filenames = filenameprint(filenames)转载 2022-04-18 08:35:43 · 1365 阅读 · 0 评论 -
paramiko的get_pty=True参数
paramiko 执行多条语句或执行sudo命令时,须要在exec_command加上get_pty=True。在远程执行某些命令时,可能需要管理员权限,这种时候需要做一些判断,首先判断登录提供的用户名如果不是root,则需要对命令做一些修改。这里的修改有两种情况,一是,该普通用户本身就有sudo权限,只需要把执行的命令加到sudo之后执行就可以,还有一种是普通用户没有sudo权限,需要通过su先切换到root身份之后再执行,这种情况下需要提供root密码。还有一点要注意的是get_pty这个参数,实际原创 2021-10-26 16:31:17 · 3736 阅读 · 0 评论 -
Can‘t pickle local object ‘_createenviron.<locals>.encodekey‘报错解决
导包问题:把from multiprocessing import Process, Queue改为:from multiprocessing.dummy import Process, Queue原创 2021-06-30 14:31:32 · 1311 阅读 · 2 评论 -
Nova-api和keystone-api官方文档
Nova-api:https://docs.openstack.org/api-ref/compute/keystone-api:https://docs.openstack.org/api-ref/identity/v3/原创 2021-02-08 16:21:49 · 249 阅读 · 0 评论 -
paramiko获取远端设备的内存使用率和CPU使用率
import paramikossh = paramiko.SSHClient()ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())#pkey = 'ssh_private_key.key'pkey = 'ssh_private_key_TG'key = paramiko.RSAKey.from_private_key_file(pkey)ssh.connect('IP', username='XXX', pkey=key)st原创 2021-02-03 16:59:04 · 803 阅读 · 0 评论 -
python3 使用ssh隧道连接mysql
import pymysqlfrom sshtunnel import SSHTunnelForwarderimport pymysql.cursorsdef dbconnect_ssh(ssh_host,ssh_port,keyfile,ssh_user,db_host,db_name,sql,db_port,db_user,db_passwd): with SSHTunnelF...原创 2020-04-01 16:43:31 · 653 阅读 · 0 评论 -
Selenium关闭多余窗口保留当前窗口
from selenium import webdriverd1 = webdriver.Chrome()d1.maximize_window()d1.get(Firsturl)#代码简化了,之后,点击连接打开新的标签页First_handle = d1.current_window_handlen = d1.window_handlesprint (n)school_ha...原创 2019-11-19 09:57:29 · 4809 阅读 · 0 评论 -
Python异常处理
(Python)异常处理try…except、raise 一、try…except有时候我们写程序的时候,会出现一些错误或异常,导致程序终止。例如,做除法时,除数为0,会引起一个ZeroDivisionError例子:?1234a=10b=0c=a/bprint "done"运行结果:Traceback (most recent...转载 2018-05-30 10:42:19 · 173 阅读 · 0 评论 -
Python input()和raw_input()的区别
  区别嘛,就是raw_input()随便输都是字符串,而input()必须按照Python的规则来~raw_input()name=raw_input('输入姓名:')age=raw_input('输入年龄')我们输入汉字的姓名和数字的年龄输入姓名:许嵩输入年龄:31许嵩 31***Repl Closed***直接输,效果杠杠的~但是要注意哦,你的...转载 2018-05-30 10:39:53 · 109 阅读 · 0 评论 -
Python with语句
Python之with语句 在Python中,我们在打开文件的时候,为了代码的健壮性,通常要考虑一些异常情况,比如:try: ccfile = open('/path/data') content = ccfile.readlines() ccfile.close()except IOError: log.write(...转载 2018-05-30 15:49:51 · 115 阅读 · 0 评论 -
Python的shelve模块
Python中的shelve这个module,感觉比pickle用起来更简单一些,它也是一个用来持久化Python对象的简单工具。当我们写程序的时候如果不想用关系数据库那么重量级的东东去存储数据,不妨可以试试用shelve。shelf也是用key来访问的,使用起来和字典类似。shelve其实用anydbm去创建DB并且管理持久化对象的。创建一个新的shelf直接使用shelve.ope...转载 2018-06-13 14:15:56 · 207 阅读 · 0 评论 -
Python print 输出不换行
Python 版本 2.7方法一 print “123”, print “456” 优点:方便 缺点:中间有间隔方法二 from future import print_function print(‘123123’, end=”)原创 2018-05-30 16:08:20 · 1214 阅读 · 0 评论 -
Python 使用del()方法和pop()方法的区分标准
判断标准: 如果你要从列表中删除一个元素,且不再以任何方式使用它,就使用del语句;如果你要在删除元素后还能继续使用它,就使用方法pop()。原创 2018-05-30 16:40:58 · 3707 阅读 · 0 评论 -
Python lambda表达式
一、lambda函数也叫匿名函数,即,函数没有具体的名称。先来看一个最简单例子:def f(x):return x**2print f(4)#Python中使用lambda的话,写成这样g = lambda x : x**2print g(4)二、lambda和普通的函数相比,就是省去了函数名称而已,同时这样的匿名函数,又不能共享在别的地方调用。 1. 使用Python写一...原创 2018-06-14 09:42:30 · 158 阅读 · 0 评论 -
Python 赋值与深浅拷贝
python——赋值与深浅拷贝 初学编程的小伙伴都会对于深浅拷贝的用法有些疑问,今天我们就结合python变量存储的特性从内存的角度来谈一谈赋值和深浅拷贝~~~预备知识一——python的变量及其存储 在详细的了解python中赋值、copy和dee...转载 2018-05-31 14:09:03 · 190 阅读 · 1 评论 -
Python 列表复制的几种方法
为了追踪内存中的对象,Python采用了引用计数这一简单技术。变量实际是内存对象的别名,可以看成是C++中引用。当引用计数为0时,该对象就称为垃圾回收机制的回收对象。所以下面的列表复制只是将给列表又起了个别名而已:[python] view plain copy print?>>> a ...转载 2018-05-31 14:54:42 · 4064 阅读 · 0 评论 -
Python进程池:multiprocessing.pool
python进程池:multiprocessing.pool 阅读目录例1:使用进程池例2:使用进程池(阻塞)例3:使用进程池,并关注结果例4:使用多个进程池在利用Python进行系统管理的时候,特别是同时操作多个文件目录,或者远程控制多台主机,并行操作可以节约大量的时间。当被...转载 2018-06-08 08:48:16 · 277 阅读 · 0 评论 -
Python3 入门之线程threading常用方法
Python3 线程中常用的两个模块为:_threadthreading(推荐使用)thread 模块已被废弃。用户可以使用 threading 模块代替。所以,在 Python3 中不能再使用”thread” 模块。为了兼容性,Python3 将 thread 重命名为 “_thread”。下面将介绍threading模块常用方法: 1. threading.Lock()...转载 2018-06-08 10:35:13 · 2491 阅读 · 0 评论 -
Python用列表解析不区分元素大小写
遍历列表current——usrs,对于其中的每个用户名都检查是否被使用,且不区分大小写。current_usrs = ['alice','Bob','carolina','admin','eve']new_usrs = ['Alice','bob','sevischi','bruce','hellman'] for usr in new_usrs: if usr.lower...原创 2018-06-01 10:26:22 · 3287 阅读 · 0 评论 -
Python 的threading.local方法
#coding=utf-8 import threading # 创建全局ThreadLocal对象: localVal = threading.local() localVal.val = "Main-Thread" def process_student(): print '%s (in %s)' % (localVal.val, threading.curre...转载 2018-06-10 16:55:01 · 1366 阅读 · 0 评论 -
Python 日志(logging模块)
本节内容日志相关概念logging模块简介使用logging提供的模块级别的函数记录日志logging模块日志流处理流程使用logging四大组件记录日志配置logging的几种方式向日志输出中添加上下文信息参考文档一、日志相关概念日志是一种可以追踪某些软件运行时所发生事件的方法。软件开发人员可以向他们的代码中调用日志记录相关的方法...转载 2018-06-10 18:01:44 · 184 阅读 · 0 评论 -
Ubuntu下安装MySQLdb
MySQLdb 是链接python和mysql数据库的工具,Ubuntu 自带了python,但是这个工具还是需要我们自己安装配置的前提:系统安装了python和mysql1:下载MySQLdb点击下载 解压:tar zxvf MySQL-python*2:安装libmysqlclient-dev输入指令:sudo apt-get install libmysqlclie...原创 2018-06-25 17:16:22 · 266 阅读 · 0 评论 -
Python split()函数的用法
函数:split()Python中有split()和os.path.split()两个函数,具体作用如下: split():拆分字符串。通过指定分隔符对字符串进行切片,并返回分割后的字符串列表(list) os.path.split():按照路径将文件名和路径分割开一、函数说明1、split()函数 语法:str.split(str=”“,num=string.count(str...原创 2018-06-26 08:45:44 · 488 阅读 · 0 评论 -
Python 哪些数据类型在函数内调用全局变量时需要加global
a = [1,2]c = {'q':1}d = 5e = 'qw'f = (1,2,3)def b(): global d #数字 字符串 元祖 修改全局变量时需要加global,列表和字典则不需要。 global e global f a[1] = 1 a.append(7) c['b'] = 2 d = d + 1 ...原创 2018-06-26 11:21:03 · 1508 阅读 · 0 评论 -
Python super 详解
说到 super, 大家可能觉得很简单呀,不就是用来调用父类方法的嘛。如果真的这么简单的话也就不会有这篇文章了,且听我细细道来。约定在开始之前我们来约定一下本文所使用的 Python 版本。默认用的是 Python 3,也就是说:本文所定义的类都是新式类。如果你用到是 Python 2 的话,记得继承 object:...转载 2018-06-26 13:54:27 · 911 阅读 · 0 评论 -
Python普通方法、静态方法、类方法
开始# -*-coding:utf-8-*-# 普通方法,类方法,静态方法的区别__metaclass__ = typeclass Tst: name = 'tst' data = 'this is data' # 普通方法 def normalMethod(self, name): prin...转载 2018-06-28 10:05:03 · 197 阅读 · 0 评论 -
python __getattr__和__setattr__
__getattr__:当使用点号获取实例属性时,如果属性不存在就自动调用__getattr__方法。 __setattr__:当设置类实例属性时自动调用,如j.name=5 就会调用__setattr__方法 。 self.[name]=5因为这个类是从dict继承来的,是dict的子类所以 self[attr]=value 相当于调用dict的下标方法与 a={} ; a[attr]=...原创 2018-07-04 14:22:58 · 5889 阅读 · 0 评论 -
multiprocessing和concurrent.futures
1 用concurrent.futures线程池from concurrent.futures import ThreadPoolExecutorfrom urllib2 import urlopenimport timeURLS = ['http://www.163.com', 'https://www.baidu.com/', 'http://qq.com/']def l...原创 2018-07-17 15:40:33 · 3671 阅读 · 0 评论 -
Python中的yield
阅读别人的python源码时碰到了这个yield这个关键字,各种搜索终于搞懂了,在此做一下总结:通常的for…in…循环中,in后面是一个数组,这个数组就是一个可迭代对象,类似的还有链表,字符串,文件。它可以是mylist = [1, 2, 3],也可以是mylist = [x*x for x in range(3)]。 它的缺陷是所有数据都在内存中,...转载 2018-07-12 15:08:23 · 152 阅读 · 0 评论 -
Python之Fabric模块
[原文](https://www.cnblogs.com/MacoLee/p/5680672.html)Fabric是基于Python实现的SSH命令行工具,简化了SSH的应用程序部署及系统管理任务,它提供了系统基础的操作组件,可以实现本地或远程shell命令,包括:命令执行、文件上传、下载及完整执行日志输出等功能。Fabric在Paramiko的基础上做了更高一层的封装,操作起来会更加简单。...转载 2018-08-01 15:24:13 · 416 阅读 · 0 评论 -
sqlite3使用with的方法来写
因为打开文件可以使用with,而免去手动关闭文件句柄,写sqlite3也这样做却是报错,发现原来要包装一下,sqlite3给的对象不支持with(其实这样写也有弊端,毕竟conn是可以选择commit的) “如果一个对象没有实现上下文,我们就不能把它用于with语句。这个时候,可以用closing()来把该对象变为上下文对...转载 2018-12-12 09:49:52 · 1645 阅读 · 0 评论 -
Python小工具之消耗系统指定大小内存的方法
#!/usr/bin/python# -*- coding: utf-8 -*-import sysimport reimport time def print_help(): print 'Usage: ' print ' python mem.py 100MB' print ' python mem.py 1GB' if __name__ == "__main__"...转载 2019-03-29 17:08:55 · 635 阅读 · 0 评论 -
ubuntu安装psutil报错(error: command 'x86_64-linux-gnu-gcc' failed with exit status 1)解决办法
sudo apt-get install libxml2-dev libxslt1-dev python-devsudo apt-get install zlib1g-devsudo apt-get install libevent-devpip install psutil原创 2019-04-18 09:53:40 · 2044 阅读 · 0 评论 -
安装paramiko遇到的错
error: command ‘x86_64-linux-gnu-gcc’ failed with exit status 1解决办法:sudo apt-get install build-essential libssl-dev libffi-dev python-devuntimeError: cryptography requires setuptools 18.5 or newer, ...原创 2019-04-23 14:35:21 · 619 阅读 · 0 评论 -
ImportError: cannot import name Publisher
报错解决方法:from wx.lib.pubsub import setuparg1from wx.lib.pubsub import pub as Publisher然后:替换任何出现Publisher()的Publisher原创 2019-04-25 09:28:49 · 1567 阅读 · 0 评论