
python
TheInk
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
自动化测试框架对比(UIAutomator、Appium)
UiAutomator和Appium之间的区别和联系一、联系:在Android端,appium基于WebDriver协议,利用Bootstrap.jar,最后通过调⽤用UiAutomator的命令,实现App的自动化测试。二、区别:UiAutomatoUiAutomator测试框架是AndroidSDK自带的App UI自动化测试Java库。1、UiAutomator——基于UIAutomation的用户界面自动化测试框架,可以跨应用工作2、UiAutomator只能测试Android nat转载 2021-08-11 16:45:31 · 4250 阅读 · 0 评论 -
pip Could not install packages due to an EnvironmentError
问题:执行pip 命令出现以下错误Could not install packages due to an EnvironmentError解决方案:使用以下命令重装pip即可pip install --user pyspider转载 2021-06-25 14:11:54 · 166 阅读 · 0 评论 -
python3中list快速去空值
python3中去空值遍历list保留非空值例如:x = ["a", "", "", "","b"]x1 = []for i in x: if i: x1.append(i)x = x1print(x)['a', 'b']简化:x = ["a", "", "", "","b"]x = [i for i in x if i]print(x)set()去重x = ["a", "", "", "","b"]print(set(x)){ '',原创 2021-03-26 10:05:13 · 11810 阅读 · 5 评论 -
杀logcat进程
使用adb抓取logcat时,如何杀掉logcat进程问题查找进程号adb shell ps |findstr “logcat”kill进程adb shell kill -9 {pid}以下是threading作业import os, threading, time# 获取device id,返回device listdef get_device_list(): devices_lines = os.popen("adb devices").readlines() de原创 2021-03-26 09:40:04 · 1099 阅读 · 0 评论 -
error: Microsoft Visual C++ 14.0 is required【解决方法】
安装一些python包时,会报错:error: Microsoft Visual C++ 14.0 is required.原因:Python3 需要Microsoft Visual C++ 14.0 支持解决方案:安装Microsoft Visual C++ Build Tools,默认安装即可。资源:Microsoft Visual C++ Build Tools链接: https://pan.baidu.com/s/1oM3kEAUUoX8MOYQdNvewlA提取码: bfj7转载转载 2021-03-03 15:09:55 · 299 阅读 · 1 评论 -
from import 与import 的区别
看了很多文章(虽然也没get到精髓),但还是总结一下:1、from A import a :会在内存里创建一个 a的 引用,修改a时,只是修改了当前文件里的a。因此当多个文件都引用该模块时,不会互相影响import A:多个文件都引用该模块时,会相互影响,可能导致报错2、from import : 从车里把矿泉水拿出来,给我import : 把车给我总结:当多个程序需要同时导入一个模块并且都是访问时,使用import 可以节省内存空间当多个程序需要同时导入一个模块当其中一个需要修改模块,那么原创 2021-03-01 17:42:23 · 843 阅读 · 2 评论 -
selenium报错:Message: Unable to find a matching set of capabilities
Selenium报错:Message: Unable to find a matching set of capabilities,一般是浏览器版本与驱动版本不兼容导致的,但是如果一直找版本会浪费大量时间,不利于时间管理学但是在代码中指定浏览器位置之后,解决(不要问我为啥子 我也母鸡呀,等后续研究明白了 再来补充)from selenium import webdriverfrom selenium.webdriver.firefox.firefox_binary import FirefoxBina原创 2020-09-03 17:07:11 · 1278 阅读 · 0 评论 -
切片用None 作为索引值
切片用None 作为索引值str = ‘abcd’str[:None]‘abcd’在对序列做迭代时,如需开头保持,可以使用None作索引转载于:https://www.cnblogs.com/zhu327/archive/2012/12/05/2802990.htmlhttps://blog.youkuaiyun.com/weixin_30242907/article/details/97025368...转载 2020-08-19 16:27:28 · 398 阅读 · 0 评论 -
openpyxl:读取单元格表达式的值
问题:简而言之:当单元格为表达式时,如何直接读取单元格的值?案发过程:使用openpyxl读取单元格值时,如果单元格是表达式,会导致读出来的值为表达式(关联了其他的单元格)。如果把该值,放在另外一个Excel中,会导致取值为0。所以,我们希望可以直接读取该单元格表达式的值。那么问题来了 我们要怎么直接读值呢?解决方案:在openpyxl中,直接加载已存在Excel的方法load_ex...原创 2020-04-16 17:06:41 · 4770 阅读 · 2 评论 -
pycharm运行窗口会挡住代码窗口底部代码
今天的话嘞遇到一个不是问题的问题问题:pycharm运行窗口会挡住代码窗口底部代码根因分析:点击运行窗口的设置按钮,选择View Mode,查看View Mode模式,因为我选择的是UNdock。解决方案:修改View Mode为第一个模式Dock Pinned,完美友情提示:以下皆为碎碎念的废话连篇,有感而发,可忽略经历:pycharm 运行脚本的时候,如果运行窗口高度调整的略...原创 2020-03-23 10:38:30 · 1442 阅读 · 0 评论 -
ERROR: No matching distribution found for six
当安装py模块,遇到以下报错时:ERROR: No matching distribution found for six只需要在pip install XXX命令的后加上以下命令即可。--default-timeout=100 -i https://pypi.tuna.tsinghua.edu.cn/simple–default-timeout=100:解决下载超时问题-i htt...原创 2020-02-20 10:23:44 · 4628 阅读 · 3 评论 -
Python+adb获取设备信息
例:import osdevice = os.popen("adb devices").read()print(device)结果:List of devices attached89PVKJUWDQSKH6S4 device原创 2020-01-10 18:02:09 · 2582 阅读 · 0 评论 -
python变量总结: 全局变量、局部变量、类变量、实例变量
前言:Python也同多数编程语言一样,也有全局变量与局部变量的概念, 但是与其他编程语言又有所不同:全局变量与局部变量两者的本质区别就是在于作用域——用通俗的话来理解的话,全局变量是在整个py文件中声明,全局范围内都可以访问局部变量是在某个函数中声明的,只能在该函数中调用它,如果试图在超出范围的地方调用,程序就爆掉了如果在函数内部定义与某个全局变量一样名称的局部变量,就可能会导致意外的效...转载 2019-12-27 17:47:39 · 1014 阅读 · 0 评论 -
multiprocessing模块
一 multiprocessing模块介绍python中的多线程无法利用多核优势,如果想要充分地使用多核CPU的资源(os.cpu_count()查看),在python中大部分情况需要使用多进程。Python提供了multiprocessing。multiprocessing模块用来开启子进程,并在子进程中执行我们定制的任务(比如函数),该模块与多线程模块threading的编程接口类似。m...转载 2019-12-13 09:27:00 · 420 阅读 · 0 评论 -
Python断言assert处理
assert断言语句用来声明某个条件是真的,其作用是测试一个条件(condition)是否成立,如果不成立,则抛出异。一般来说在做单元测试的时候用的比较多,在生产环境代码运行的情况下,不建议使用断言,会让程序abort掉。什么时候使用断言保护性的编程 正常情况下,并不是防范当前代码发生错误,而防范由于以后的代码变更发生错误。运行时序逻辑的检查 这种情况一般都是很严重的,防止脏数据或者异常数...转载 2019-12-12 13:53:07 · 392 阅读 · 0 评论 -
Python多线程编程(一):threading 模块 Thread 类的用法详解
我们进行程序开发的时候,肯定避免不了要处理并发的情况。一般并发的手段有采用多进程和多线程。但线程比进程更轻量化,系统开销一般也更低,所以大家更倾向于用多线程的方式处理并发的情况。Python 提供多线程编程的方式。本文基于 Python3 讲解,Python 实现多线程编程需要借助于 threading 模块。所以,我们要在代码中引用它。import threadingthread...转载 2019-12-10 10:33:09 · 287 阅读 · 0 评论 -
python:数据类型
python数据类型有8种:数值型、字符型、布尔、空、元组、列表、字典、集合1.元组元组不能修改,但是可以拼接生成新的元组a = (1, 2)a = (1, 2, 3)b = (a, b ,c)c = a + bprint c(1, 2, 3, a, b, c)2.列表列表有序的可重复的, 可修改a = [] or a = list()3.字典字典是键值对, 键(ke...原创 2019-12-09 16:24:07 · 170 阅读 · 0 评论 -
随机生成4位字母数字混合字符
1.string.ascii_letters+string.digitsString模块ascii_letters:从a-z和A-Z生成字母,digits:从0-9生成数字.2.Randomrandom() 从[0, n)随机返回一个数;choice(seq) 从seq中随机返回一个元素;shuffle(seq) 随机排列seq;sample(seq, n) 从seq中随机返...原创 2019-12-09 16:00:14 · 2032 阅读 · 0 评论 -
openpyxl:NamedStyle报错ValueError: Style highlight exists already
原因:当我们定义并调用了一次Style之后,以后的调用需要直接使用该Style的字符串形式。否则会报错Style highlight exists already。一般程序运行第二次时会出现报错,如果没有用字符串形式引用的话。wb.add_named_style(highlight)#第一步ws[‘A1‘].style = highlight#第二步Once registered assig...原创 2019-11-18 13:37:35 · 2141 阅读 · 1 评论 -
Python 计算时间差
字符串格式转换为时间格式timekeeper[0],timekeeper[-1]为字符串格式的日期形式,如“2019-11-15 17:32:24”start = time.strptime(timekeeper[0], “%Y-%m-%d %H:%M:%S”)end = time.strptime(timekeeper[-1], “%Y-%m-%d %H:%M:%S”)计算时间差...原创 2019-11-15 17:36:10 · 887 阅读 · 0 评论 -
uiautomator2
一、安装 &设备初始化安装:pip install --pre uiautomator2pip install pillow初始化:(电脑连接上一个手机或多个手机,可同时初始化多台设备)python -m uiautomator2 init二、连接设备:通过WiFi,设备与PC在同一网络中(ipconfig) import uiautomator2 as u...转载 2020-01-10 14:24:28 · 458 阅读 · 0 评论 -
raise ValueError("Cannot convert {0!r} to Excel".format(value))
今天用openpyxl 库,使用命令sheet.cell(row=x, column=2, value=z.project)给Excel中写数据时,报错raise ValueError(“Cannot convert {0!r} to Excel”.format(value))原因:sheet.cell的value需要时字符串类型解决方案:1、通过print(type(z.proje...原创 2019-04-25 16:07:01 · 23904 阅读 · 2 评论 -
Windows 使用 pip 安装 python-ldap
LDAP是轻量目录访问协议,英文全称是Lightweight Directory Access Protocol,一般都简称为LDAP,Windows 使用 pip 安装 python-ldap 时,提示找不到lber.h,本文介绍如何安装。安装问题pip install python-ldap安装python-ldap提示找不到lber.h,错误日志:c:\users\administr...转载 2019-04-30 14:46:47 · 6260 阅读 · 0 评论 -
python2 画小猪佩奇
#coding:utf-8from turtle import *def nose(x,y):#鼻子 penup()#提起笔 goto(x,y)#定位 pendown()#落笔,开始画 setheading(-30)#将乌龟的方向设置为to_angle/为数字(0-东、90-北、180-西、270-南) begin_fill()#准备开始填充图形 ...转载 2019-06-06 17:07:13 · 199 阅读 · 0 评论 -
os.getcwd()、sys.path[0]、sys.argv[0]和__file__
os.getcwd() 指的是运行程序的目录 (绝对路径),即当前目录,如图中的1 sys.path[0] 运行文件的目录 (绝对路径),如图中的2sys.argv[0] 运行文件目录相对与运行目录的位置(相对路径)__file__ 主模块显示的相对路径,而被调用模块却用的绝对路径...原创 2019-07-13 15:52:00 · 419 阅读 · 0 评论 -
Openpyxl--python Excel 处理库
安装:python -m pip install openpyxl创建新的表格:wb = openpyxl.Workbook()加载已有表格:wb = openpyxl.load_workbook(“表格路径”)创建sheet:ws = create_sheet(“sheet_name”)查询现有sheet:wb.get_sheet_names() #返回一个存有所有...原创 2019-08-14 10:19:42 · 306 阅读 · 0 评论 -
解决Pycharm导入模块时提示“Unresolved reference”
问题描述:在项目中P存在文件夹A、B、C,A有文件夹a和b,在a中引入b的一个类,a.py:from b import func1虽然运行成功,但是在Pycharm中显示: Unresolved reference例如:2. 产生问题的原因:Pycharm默认该项目的根目录为source目录,每次import都是从source目录开始查找,也就是从P所在的目录开始,而不是A3...转载 2018-11-27 14:10:00 · 2471 阅读 · 0 评论